Wie kann ich Makern in einem matplotlib.pyplot Graphen verschiedene Farben zuweisen?

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
Arved
User
Beiträge: 1
Registriert: Freitag 11. Januar 2019, 20:36

Ich habe ein Programm geschrieben, was Verluste und Gewinne in einem Graphen darstellt. Als kleines Detail wollte ich die Marker jeweils rot einfärben, wenn ein Verlust auftritt und grün einfärben, wenn ein Gewinn auftritt.

Code für den Graphen:

Code: Alles auswählen

 
 def graph(self):
        global geld_spieler_graph, runde_graph, spiele
        spiele += 1
        #print(spiele)
        geld_spieler_graph.append(geld_spieler)
        runde_graph.append(spiele)
    
        if self.test == 0 or self.test == 1: 
            plt.plot(runde_graph, geld_spieler_graph, marker = 'o', markerfacecolor = 'green', color = 'c')
        
        elif self.test == 2:
            plt.plot(runde_graph, geld_spieler_graph, marker = 'o', markerfacecolor = 'red', color = 'c')
    
        if stopp == True:  
            print (spiele)
                                        
            plt.xlabel("Runden")
            plt.ylabel("Geld")
     
            plt.show()
            
Der Rest vom Code sollte für dieses Problem irrelevant sein.

Der Graph sollte ungefähr wie im im Beispiel aussehen. Bei mir hat er eben nur grüne Marker,, weil graph() mit einem Gewinn geendet hat. Damit wird die Farbe von allen Markern auf grün gesetzt...

Ich hatte leider keine Ahnung wie man hier Bilder hochlädt. Deswegen der WeTransfer link. Nur Bilder, keine Sorge :)
Liebe Grüße und vielen Dank
https://wetransfer.com/downloads/041d2 ... 350/ea99db
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum benutzt Du global, wenn du doch schon offensichtlich Klassen hast? stop kommt trotzdem immer noch aus dem nichts.
Wenn es ein if und ein elif gibt sollte es auch ein else geben, sonst sieht es so aus, als ob was vergessen wurde. Da der plot- Aufruf fast gleich ist, kann man ihm mit passenden Variablen auch nach den ifs schreiben.
Hast du schon auf die Beispielseite in der matplotlib-Dokumentation geschaut? Da ging es fast zu jedem Problem ein Beispiel.
Antworten