2012-08-27 7 views
5

Załóżmy, że chcę utworzyć mapy termiczne 2+ (na tej samej lub innej liczbie) i mieć kolor odwzorowania wartości tego samego koloru. pomiędzy nimi.Jak wymusić odwzorowanie kolorów na zakres dynamiczny większy niż dane wejściowe do wyświetlenia w matplotlib

Domyślnie skrajne wartości w mapie kolorów (np. Strumieniu) będą wykorzystywane do dynamicznego zakresu każdej mapy ciepła indywidualnie (tj. Każde wywołanie będzie wyświetlane ponownie), a ja chciałbym wymusić odwzorowanie na takie samo, tj. użyj globalnego zakresu dynamicznego.

Myślę, że równoważne stwierdzenie jest takie, że chciałbym w jakiś sposób określić bezwzględne mapowanie, podczas gdy zachowanie imshow dla obiektu cmap jest względne w stosunku do zakresu dynamicznego danych wejściowych.

Odpowiedz

4

Myślę, że ten link może pomóc?

Rzeczywiście, this answer jest znacznie prostsze.

+0

Określanie vmin i vmax (to samo dla każdego wątku, w oparciu o zasięg globalny) działały, dziękuję! Nie zgadłbym, że na podstawie dokumentacji ("Używane do skalowania obrazu luminancji do 0-1 .Jeśli jest to Brak, zostaną użyte min i maksimum wartości luminancji. Uwaga, jeśli normą nie jest Brak, ustawienia dla vmin i vmax będą ignorowane. "), ale rozwiązałeś mój problem! –

+0

Tak, pamiętam, że muszę się za to zagrzebać. – reptilicus

0

Jeśli nie chcesz, aby określić zakresy ale jakoś wiedzieć, że jedna działka ma największy zasięg, można uzyskać ten zakres z Axesimage.properties()['clim'] i ustawić go na innych działkach jak wyjaśniono tutaj: Imshow subplots with the same colorbar

Powiązane problemy