Seite 1 von 1

matplotlib Y-Achsenbeschriftung funktioniert manchmal nicht

Verfasst: Mittwoch 18. Februar 2015, 01:17
von hwm
Habe folgendes Problem:

ich male mit matplotlib und numpy einen Graphen. Merkwürdigerweise wird die Y-Achse mal korrekt, und mal nicht korrekt beschriftet.

Das Coding sieht so aus:

Code: Alles auswählen

def do_the_plot(self, res, measure, text_y):
        print (res, measure)
        self.mpl.canvas.ax.clear()
        self.x = np.arange(len(res))
        self.y = np.array(measure)
        self.mpl.canvas.ax.set_xlim(xmin = -0.25, xmax = len(res) - 0.75)
        self.mpl.canvas.ax.get_yaxis().grid(True)
        self.mpl.canvas.ax.set_ylabel(text_y)
        self.mpl.canvas.ax.plot(self.x, self.y, linewidth=2)
        self.mpl.canvas.draw()
In res steht folgendes:
[('Indoor', '20150218-0006', 20, 1047.9, 41, 559, 39, 0), ('Indoor', '20150218-0016', 19.9, 1048.1, 41, 570, 39, 0), ('Indoor', '20150218-0026', 19.8, 1048.3, 46, 570, 39, 0), ('Indoor', '20150218-0036', 19.8, 1048.1, 44, 579, 39, 0)]
und in measure das (also immer der 4. Wert in res):

Code: Alles auswählen

[1047.9, 1048.1, 1048.3, 1048.1]
Geplottet werden aber in der Y-Achse Werte von 0.00 bis 0.40

Habe ich allerdings in measure folgendes:

Code: Alles auswählen

[20, 19.9, 19.8, 19.8]


funktioniert alles völlig korrekt.

Was aber völlig merkwürdig ist: mal wird der erste Plot korrekt ausgegeben, und mal nicht, nicht rekonstruierbar, aber in Abhängigkeit von der Anzahl der Werte in measures. Hat da jemand eine Idee?