Seite 1 von 1

Farbe des letzten Plots

Verfasst: Donnerstag 9. August 2018, 09:56
von ch_neu
Hallo,

ich habe ein Subplotgrid

Code: Alles auswählen

import matplotlib.pyplot as plt
ax1=plt.subplot2grid((3,2), (0,0), rowspan=3)  
ax2=plt.subplot2grid((3,2), (0,1))
ax3=plt.subplot2grid((3,2), (1,1))
ax4=plt.subplot2grid((3,2), (2,1))
in einer Schleife mit beliebig vielen durchläufen wird der Inhalt dieser Plots laufend aktualisiert.

Code: Alles auswählen

ax1.plot(messwerte_mean_1,messwerte_mean_1)
ax2.plot(messwerte_mean_2,messwerte_mean_2)
....
plt.pause(0.05)
Ich würde aber gerne in allen Plots dieselbe Farbe pro Schleifendurchlauf haben.

mit:

Code: Alles auswählen

axx=plt.plot(...)
axx[0].get_color()
wäre das recht einfach, dass ich die Farbe des letzten Plots auslesen kann und dann für die nächsten Plots weiter verwende.
Jedoch komme ich hier mit meiner obrigen Logik nicht hin.
Auch habe ich schon versucht eine zufällige Farbe selbst aus einer color_map zu nehmen. Mit random.random() sind mir die Farben der verschiedenen Schleifendurchläufe aber viel zu ähnlich.
Darum würde ich die Farben am liebsten gar nicht erst selber definieren und einfach nur einstellen, dass jeder der Plots pro Durchgang die Selber Farbe verwendet.

Re: Farbe des letzten Plots

Verfasst: Montag 20. August 2018, 22:22
von Sarapheus
Moin,
wenn ich das richtig verstehe sollen die Plots immer dieselbe Farbe haben und erst die Farbe ändern sobald die Schleife von vorne beginnt(wieder sollen alle Plots die gleich Farbe haben aber dieses mal eine andere?).

Du kannst doch eine Funktion schreiben um die Farbe der Plots zu ändern, welche du dann in der Schleife aufrufst.

Re: Farbe des letzten Plots

Verfasst: Mittwoch 22. August 2018, 09:52
von MagBen
Ich würde die Sache anders angehen. Wenn du bei jedem Update neue Plots erzeugst, dann wird das ein ziemliches Geflackere geben. Stattdessen kannst du die Plots auch nur einmal erzeugen und dann beim Update nur deren Daten ändern. Die Farbe würde dadurch auch gleich bleiben. In den Links kannst du sehen wie das geht:
https://pythonspot.com/matplotlib-update-plot/
http://block.arch.ethz.ch/blog/2016/08/ ... atplotlib/