Seite 1 von 1

Zwei Balkendiagramme in einem Diagramm

Verfasst: Dienstag 25. Mai 2021, 11:07
von dausd
Hallo zusammen,

ich habe drei listen vorliegen.
- xwerte, das sind die Zahlen von 1 bis 1000
und
- zwei listen mit ywerten, sagen wir ygelb und yblau. Das sind jeweils Listen mit ebenfalls 1000 Messergebnissen.

Nun möchte ich gerne die beiden Listen mit Messungen als Balkendiagramme darstellen. EInzeln klappt das auch jeweils plt.bar().
Allerdings möchte ich, dass das eine Balkendiagramm "hinter" dem anderen gezeigt wird, in einer anderen Farbe, also beides im selben Diagramm.
Es handelt sich im zwei Ergebnislisten, einmal mit und einmal ohne eine "Ersparnis", daher sollen die beide gleichzeitig abgelesen werden können.

Leider bekomme ich das nicht hin.
Könnt ihr mir auf die Sprünge helfen?

Vielen Dank
dausd

Re: Zwei Balkendiagramme in einem Diagramm

Verfasst: Dienstag 25. Mai 2021, 16:16
von rogerb
Hallo dausd,

wenn du deinen Code hier zeigst kann man dir sicher konkrete Hilfe leisten.

Aber vielleicht hilft das ja schon:
https://matplotlib.org/stable/gallery/l ... archart-py

Re: Zwei Balkendiagramme in einem Diagramm

Verfasst: Dienstag 25. Mai 2021, 16:38
von kbr
@dausd: Wenn Du das von rogerb verlinkte Beispiel-Diagramm nimmst, dann kannst Du erkennen, dass durch Beeinflussung der x-Position

Code: Alles auswählen

fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, men_means, width, label='Men')
rects2 = ax.bar(x + width/2, women_means, width, label='Women')
die Balken der zwei Datenreihen genau nebeneinander plaziert werden. Wenn Du diese Positionierung nun ein wenig modifizierst, kannst Du die Balken auch so plazieren, dass sie sich teils oder ganz verdecken und so "hintereinanderliegend" erscheinen:

Code: Alles auswählen

fig, ax = plt.subplots()
rects1 = ax.bar(x - width/4, men_means, width, label='Men')
rects2 = ax.bar(x + width/4, women_means, width, label='Women')

Re: Zwei Balkendiagramme in einem Diagramm

Verfasst: Donnerstag 27. Mai 2021, 11:19
von dausd
Hallo ihr beiden,

vielen Dank für eure Hilfe. Sorry das ich mich jetzt erst wieder melde. Ich habe einfach folgenden Code benutzt:

Code: Alles auswählen

plt.bar(xwerte, ywerte1, color="blue", width=1)
plt.bar(xwerte, ywerte2, color="green", width=1)
plt.xlabel("Beschriftung x")
plt.ylabel("Beschriftung y
plt.show()
und es hat funktioniert. Daher hatte ich diesen Thread auch aus den Augen verloren, entschuldigt bitte. Ich weiß das aber zu schätzen und danke euch sehr für eure Hilfe :)