Seite 1 von 1

Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 17:05
von AloneWolf
Hallo zusammen und schönen 2. Advent :wink:

Ich bin absoluter Python Neuling, möchte mich aber mit dem Thema beschäftigen da es mich Interessiert und Python auch in der Berufsschule benutzt wird. Ich bin gerade dabei was zu schreiben, was 2 Preise vergleicht, in dem Fall von Angeboten. Diese werden auch schon grafisch in form eines einfaches Diagramm ausgegeben. Jetzt wollte ich fragen, wie ich die Ausgabe 2-farbig machen kann (linker Balken blau, rechter rot etc.) Perfekt wäre es, wenn Python das günstigere Angebot in z.B. grün und das teuere in rot ausgibt.
Ich danke euch schon mal im vor raus und hoffe viel lernen zu können. :)
Arbeit bisher:

Code: Alles auswählen

import matplotlib.pyplot as plt


def Endpreis(Grundpreis, Stueckpreis, Stueckzahl):
    return Grundpreis + Stueckpreis * Stueckzahl

#Eingabe

Grundpreis1 = float(input("Grundpreis:"))
Stueckpreis1 = float(input("Stückpreis:"))
Stueckzahl1 = int(input("Stückzahl:"))

Grundpreis2 = float(input("Grundpreis:"))
Stueckpreis2 = float(input("Stückpreis:"))
Stueckzahl2 = int(input("Stückzahl:"))

#Verarbeitung
Pr1 = Endpreis(Grundpreis1, Stueckpreis1, Stueckzahl1)
Pr2 = Endpreis(Grundpreis2, Stueckpreis2, Stueckzahl2)

#Ausgabe

y = [Pr1, Pr2]
N = len(y)
x = range(N)
width = 1/1.05
plt.bar(x,y, width, color="black")


Re: Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 17:16
von narpfel
Moin,

man kann für `color` nicht nur Strings angeben, sondern auch Listen von Farben. Und wenn das günstigere immer grün sein soll, dann musst du das halt so programmieren. :wink: Das Stichwort dazu wäre `if`.

Sonstige Anmerkungen zum Code: Variablen und Funktionen werden in Python üblicherweise `klein_mit_unterstrichen` geschrieben (`CamelCase` ist Klassennamen vorbehalten). Siehe auch PEP 8. Gerade als Anfänger kann es Sinn machen, das wenigstens kurz zu überfliegen, damit man sich nicht gleich schlechte Angewohnheiten angewöhnt.

Viel Spaß noch!

Re: Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 18:16
von AloneWolf
narpfel hat geschrieben:Moin,

man kann für `color` nicht nur Strings angeben, sondern auch Listen von Farben. Und wenn das günstigere immer grün sein soll, dann musst du das halt so programmieren. :wink: Das Stichwort dazu wäre `if`.

Sonstige Anmerkungen zum Code: Variablen und Funktionen werden in Python üblicherweise `klein_mit_unterstrichen` geschrieben (`CamelCase` ist Klassennamen vorbehalten). Siehe auch PEP 8. Gerade als Anfänger kann es Sinn machen, das wenigstens kurz zu überfliegen, damit man sich nicht gleich schlechte Angewohnheiten angewöhnt.

Viel Spaß noch!
Danke dir, du hast mir schon sehr geholfen, jetzt habe ich noch ein einfaches Problem, bei dem mir nicht klar ist, was falsch ist. Bei dem folgenden if zeigt er mir invalid syntax, woran liegt dies?

Code: Alles auswählen

Pr1 = Endpreis(Grundpreis1, Stueckpreis1, Stueckzahl1)
Pr2 = Endpreis(Grundpreis2, Stueckpreis2, Stueckzahl2)

if Pr1 < Pr2
    je_nachdem = [Pr2, Pr1]
elif Pr1 > Pr2
    je_nachdem = [Pr1, Pr2]

Re: Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 18:19
von Sirius3
@AloneWolf: `if`s werden auch mit einem Doppelpunkt abgeschlossen. Was soll im Fall Pr1 == Pr2 passieren?

Re: Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 18:24
von narpfel
@AloneWolf: Ich würde auch eher die Liste mit den Farben mit dem `if` erstellen. Sonst ist mal das zuerst eingegebene links und mal das danach eingegebene.

Re: Grafische ausgabe mehrfarbig

Verfasst: Sonntag 10. Dezember 2017, 18:30
von AloneWolf
Alles klar Leute, vielen dank für die einfach erklärten, hilfreichen und schnellen antworten, jetzt funktioniert alles, erster eindruck vom Forum: 1+* :mrgreen: