Matplotlib Achsenbeschriftung

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
Simon123
User
Beiträge: 9
Registriert: Freitag 17. November 2017, 18:17

Donnerstag 18. Oktober 2018, 20:50

Hallo zusammen,

ich verwende Python 2.7 und habe den folgenden Code:

Code: Alles auswählen

import matplotlib.pyplot as plt
import numpy as np

x_axis = np.array([0,2,4]) 
x_ticks = ["Apfel", "Banane", "Birne"]
y_1 = [10,7,5]
y_2 = [3,2,4]
   
plt.xticks(x_axis,x_ticks,color="red",rotation="vertical",)
plt.bar(x_axis-0.4,y_1,color="black",label="Supermarkt1")
plt.bar(x_axis+0.4,y_2,color="grey",label = "Supermarkt2")
plt.legend()
plt.tight_layout()
Dieser Code erstellt mir ein Histogram, indem immer die Balken für Supermarkt1 und Supermarkt2 für Apfel,Banane und Birne nebeneinander sind. Jetzt möchte ich das die Strings Apfel Banane und Birne in verschiedenen Farben geschrieben werden und nicht wie aktuell nur in rot. Etwas wie color = ["red", "green", blue"] funktioniert leider nicht. Weiß jemand wie ich das hinbekommen könnte?

Vielen Dank und viele Grüße,
Simon
Sirius3
User
Beiträge: 8625
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 18. Oktober 2018, 20:59

›plt.xticks‹ liefert die Ticks und Labels zurück, die Du verwenden kannst um den Labels mit set_color eine andere Farbe zu geben.

Code: Alles auswählen

ticks, labels = plt.xticks(x_axis,x_ticks,color="red",rotation="vertical")
labels[0].set_color('blue')
Simon123
User
Beiträge: 9
Registriert: Freitag 17. November 2017, 18:17

Donnerstag 18. Oktober 2018, 21:06

Wow so einfach geht das. Vielen vielen Dank!
Antworten