Farbe des letzten Plots

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ch_neu
User
Beiträge: 9
Registriert: Freitag 20. Oktober 2017, 09:01

Donnerstag 9. August 2018, 09:56

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.
Sarapheus
User
Beiträge: 7
Registriert: Montag 20. August 2018, 22:13

Montag 20. August 2018, 22:22

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.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Mittwoch 22. August 2018, 09:52

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/
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten