Setzen von Punkten mit keine Daten weiß mit Matplotlib imshow
Ich bin Grafik-Daten ein numpy-array mit Hilfe von matplotlib imshow. Jedoch, einige Punkte haben keine Daten in Ihnen. Ich initialisiert das array mit np.Nullen, also diese Punkte sind durch ziehen nach unten die ganze Karte. Ich weiß, dass keine der Daten je ein Wert von 0.0. Gibt es eine Möglichkeit für mich zu sagen, die imshow routine, ignorieren diese Punkte (dh verlassen, Sie weiß, so ist es klar, dass Sie leer sind)?
- Du hast zwei gute Antworten; erwägen Sie, ein als richtig. Ich Verband die beiden Antwort zu erreichen, ist mein Ziel. Sie waren beide viel einfacher als die Definition einer cmap.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, instanziiert das array mit NaN statt der Nullen ein, um zu sehen, ob matplotlib ist standardmäßig ignoriert NaNs in einer Weise, die für Sie arbeitet? Sie könnten auch versuchen, nur unter Verwendung der logischen Indizierung, um die Standorte von 0 gleich NaN rechts vor dem zeichnen:
Alternativ können Sie die NaN Idee und Folgen Sie diesem link Beratung und verwenden NumPy maskierte arrays, um die Handlung der NaN-Einträge, wie eine Farbe, die Sie bevorzugen.
Ich denke, Sie könnte auch mit diesem link die Idee, einen maskierten Arrays bei der null-Standorte zu, ohne auf die NaN-option, wenn Sie es nicht mögen.
Pad-array mit Python Keiner für die Punkte, die sollten nicht angezeigt werden.
Für dieses Beispiel, die y_series_1 Linie verschwindet von der X-Achse auf den zweiten und Dritten Punkt. Das Ergebnis ist ein Zeilenumbruch (Zeile beginnt, verschwindet, dann weiter auf den vierten Punkt, das ich glaube, ist das Verhalten, das Sie nach sind.