Seite 1 von 1

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

Verfasst: Freitag 4. September 2020, 17:58
von Arved
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

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

Verfasst: Samstag 5. September 2020, 09:56
von Sirius3
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.