Ich bekomm den plot nicht so hin wie ich möchte

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
winnitouch
User
Beiträge: 21
Registriert: Montag 25. März 2019, 22:33

Hallo zusammen,

folgendes Problem. Ich hab drei Listen, welche ich nun in einem Graph plotten möchte.

Der Inhalt der einen Liste (list_cash) beinhaltet Kontostände und soll die y-Achse sein.
Der Inhalt der zweiten Liste (list_cash_new) beinhaltet ebenfalls Kontostände und soll ebenfalls auf die y-Achse.
Der Inhalt der zweiten Liste (list_date) beinhaltet Datumswerte im Forman (yyyy-mm-dd) und soll die x-Achse sein

Alle 3 Listen haben exakt gleiche Anzahl Elemente.

Was ich nun möchte ist folgendes:
- Die beiden Kennlinien sollen in einem Graph geplottet werden
- Bei der y- und x- Achse sollen die Skalierung der Zwischenwerte so weit ausseinander gewählt werden, dass alles gut lesbar ist
- Es soll ein Grid angezeigt werden


Nun, was ich bisher geschafft habe ist, dass er mir die y-Achse automatisch skaliert, so dass hier die Werte gut lesbar sind.
Für die x-Achse macht er das nicht (auch nicht, wenn ich axis=both setze, so dass dort alles überlagert ist und man nichts lesen kann. Ein Grid kann ich so auch nicht einblenden.

Code: Alles auswählen

        plt.plot(list_date, list_cash, color='blue', linestyle='-')
        plt.plot(list_date, list_cash_new, color='red', linestyle='-')
        plt.autoscale(enable=True, axis='y', tight=None)
        plt.show()
Bild

Kann mir jemand helfen?
winnitouch
User
Beiträge: 21
Registriert: Montag 25. März 2019, 22:33

kann mit keiner weiterhelfen? :(
winnitouch
User
Beiträge: 21
Registriert: Montag 25. März 2019, 22:33

Das Hauptproblem ist, dass ich in der x-Achse sehr viele Datenpunkte habe. Also die Datumsliste hat (so wie die Wertelisten) rund 2800 Einträge. Das sind Datumswerte von 2009 bis 2019 drin. Er soll in der X-Achse aber nur ein paar anzeigen....zum Beispiel einen pro Jahr, also irgendwas um die 10 Werte. Es geht mir aber nicht mal drum, dass es unbedingt exakt ein Wert pro Jahr sein muss etc. Ich möchte einfach nur, dass es so skaliert ist, dass man die X Achse ablesen kann und auch ein Grid, den man einblendet, nicht zu viele Linien enthält.
Wie gesagt, bei der y-Achse funktioniert das mit der automatischen Skalierung...bei X-Achse bekomm ich es nicht hin.

Gibts hier Experten für das Darstellen von Kennlinien?
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Du mußt die Datumsliste schon als Liste von datetime-Objekten haben, nicht Strings.
Variablen sollten nicht den Datentyp im Namen haben. Üblich ist für Listen den Inhalt im Plural als Namen zu verwenden: dates, accounts, accounts_new.
winnitouch
User
Beiträge: 21
Registriert: Montag 25. März 2019, 22:33

danke! ;)
Antworten