Mam figurę, która składa się z obrazu wyświetlanego przez imshow()
, konturu i pola wektorowego ustawionego przez quiver()
. Pokolorowałem pole wektorowe na podstawie innej ilości skalarnej. Po prawej stronie mojej postaci wykonałem colorbar()
. Ten colorbar()
reprezentuje wartości wyświetlane przez imshow()
(które mogą być w moim przypadku dodatnie i ujemne). Chciałbym wiedzieć, w jaki sposób mogę ustawić inny pasek koloru, który będzie oparty na wartościach skalarnej ilości, na której bazuje kolor wektorów. Czy ktoś wie, jak to zrobić?Matplotlib: kołczan i imshow nałożone, jak ustawić dwa paski kolorów?
Oto przykład obrazu, który udało mi się wykonać. Zauważ, że kolory wektorów zmieniają się z niebieskiego na czerwony. Zgodnie z aktualnym paskiem kolorów niebieski oznacza minus. Jednak wiem, że ilość reprezentowana przez kolor wektora jest zawsze dodatnia.
Czy to takie proste? Dzięki za odpowiedź! Jestem ciekawy: w jaki sposób colorbar() wie, na które dane patrzeć? Jak to działa, jeśli chcę to zrobić z perspektywy celów? – MCF
@Heimdall z dokumentacji: "Obraz, ContourSet itp., Do którego odnosi się pasek koloru, ten argument jest obowiązkowy dla metody colorbar(), ale opcjonalny dla funkcji colorbar(), która ustawia wartość domyślną dla bieżącego obrazu." http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.colorbar. Dlatego domyślnym argumentem 'colorbar' musi być najnowszy narysowany Artysta. Dokumenty sugerują także sposób na dokładniejszą kontrolę nad tym, który pasek kolorów -> działka. – Hooked