Seite 1 von 1

[Matplotlib] Platzhalter in Diagramm

Verfasst: Mittwoch 21. Januar 2009, 21:25
von cofi
Es geht um Platzhalter in einem Liniendiagramm.
Folgende als x-/y-werte funktioniert nicht:

Code: Alles auswählen

import matplotlib.pyplot as  pyplot
x = range(4)
y = [1, 2, None, .3]
fig = pyplot.figure()
dia = fig.add_subplot(111)
dia.plot(x, y)
Zumindest nicht so wie es gedacht (Kein Plot, Plot bis zum None, usw) ...

None gibt es, wenn Messfehler vorkommen oder die Daten anderweitig nicht vorhanden sind, deswegen fällt ein ersetzen durch `0' ebenfalls flach.

Wie komme ich also zu einem Platzhalterelement?

Verfasst: Mittwoch 21. Januar 2009, 22:42
von HerrHagen
NaN machst du wie von dir beschrieben.
Der Plot ist korrekt. Wohin soll der Plot denn von NaN zu 3 gehn?
Versuchs mal damit (eine Nummer mehr), ich glaub da wird es klar:

Code: Alles auswählen

>>> from pylab import *
>>> x = [0,1,2,3,4]
>>> y = [0,1,None,3,4]
>>> plot(x,y)
MFG HerrHagen

Verfasst: Donnerstag 22. Januar 2009, 09:08
von CM
Hoi,

hatte mal ein ähnliches Problem, dann rumgefrickelt und die Lösung online gestellt:
Plotting with masked arrays. Ist nicht mehr ganz up to date, zeigt aber hoffentlich, wie eine Lösung aussehen kann. Du müsstest natürlich die Maskierungsbedingung und die Darstellungsart für Dich anpassen.

HTH
Christian

PS Der scipy-Server scheint aktuell Probleme zu haben. Falls Du es so nicht anzeigen kannst: googlen nach "matplotlib masked array" und den Cache anzeigen lassen.

Verfasst: Donnerstag 22. Januar 2009, 14:24
von cofi
Danke HerrHagen. Natürlich ... Denkfehler von mir ;)

Danke CM, werd ich mir mal anschauen, obwohl mein "Problem" schon gelöst ist. Vielleicht gehts damit ja noch besser ;)