Seite 1 von 1

Balkendiagramm Datum Quartal

Verfasst: Do Jul 09, 2020 10:09 am
von Natsu
Hi,

ich versuche ein Balkendiagramm zu erstellen, das mir pro Quartal eine Anzeige bringt (für 2 Jahre).
Allerdings ist zwischen den beiden Jahren ein extrem großer Abstand (siehe Anhang).

Code: Alles auswählen



p4 <- daten %>%
         group_by(Datumswert = quarter(daten$Beitragsdatum, with_year = TRUE)) %>%
         summarise(Anzahl = n()) %>%
         #print(Datumswert)
         plot_ly(x = ~Datumswert,
                 y = ~Anzahl,
                 marker =list(color = 'rgb(158,202,225)',
                              line = list(color='rgb(8,48,107)',
                                          width = 1.5)),
                 color = "blue",
                 type = 'bar') %>%
layout(xaxis = list(title = "Zeit"),
yaxis = list(title = 'Anzahl'))
p4



wenn ich mir die Variable "Datumswert" ausgeben lassen (auskommentiere Print-Anweisung) bekomme ich folgende Ausgabe:

Datumswert Anzahl
<dbl> <int>
2018.1 1249
2018.2 1176
2018.3 1307
2018.4 1275
2019.1 1402
2019.2 1221
2019.3 1547
2019.4 1452
2020.1 635
9 rows


Daher verstehe ich nicht warum er dann im Diagramm 2,018.5 schreibt. Für Tipps wäre ich Dankbar.

Re: Balkendiagramm Datum Quartal

Verfasst: Do Jul 09, 2020 11:50 am
von ruedi_br
Ich habe zwar noch nicht mi plotly gearbeitet, aber eine kurze Recherche findet dieses:
https://plotly.com/r/tick-formatting/
HTH
Ruedi

Re: Balkendiagramm Datum Quartal

Verfasst: Do Jul 09, 2020 6:01 pm
von Natsu
Leider sehe ich derzeit nicht wie ich das Tick-Formating von Plotty für meinen Fall nutzen könnte.

Dort geht es jeweils bei einem Liniendiagramm und die Darstellung der X-Achse.
In meinem Fall möchte ich aber die Daten erst zusammenrechnen. Mit einem Liniendiagramm würde ich ja nur die Anzahl der aktuellen Tage (nur halt komprimiert auf die Abstände der X-Achse) anzeigen lassen.

Wenn ich die Daten Tageweise ausgebe, habe ich mit dem Balkendiagramm kein Problem, aber wenn ich dies dann für das Quartal haben möchte hapert es. Oder gibt es einen eleganteren Weg das für ein Quartal zu machen?

So sieht es mit den Tagen aus, das geht Problemlos.

Code: Alles auswählen


p2 <- daten %>%
         group_by(Beitragsdatum) %>%
         summarise(Anzahl = n()) %>%
         plot_ly(x = ~Beitragsdatum,
                 y = ~Anzahl,
                 marker =list(color = 'rgb(158,202,225)',
                              line = list(color='rgb(8,48,107)',
                                          width = 1.5)),
                 color = "blue",
                 type = 'bar') %>%
layout(xaxis = list(title = "Zeit"),
yaxis = list(title = 'Anzahl'))
p2





Re: Balkendiagramm Datum Quartal

Verfasst: Do Jul 09, 2020 8:03 pm
von EDi
Wie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...

Re: Balkendiagramm Datum Quartal

Verfasst: Do Jul 09, 2020 10:30 pm
von Natsu
EDi hat geschrieben: Do Jul 09, 2020 8:03 pm Wie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...
Ich verstehe leider nicht was du meinst, könntest du es für mich bitte etwas mehr ausführen? Danke!

Re: Balkendiagramm Datum Quartal

Verfasst: Sa Jul 11, 2020 1:17 pm
von EDi
Z.b. in einen factor umwandeln.

Code: Alles auswählen

factor(Datumswert)
Mehr kann ich leider nicht ausführen, da ich gerade zu faul bin mir ein reproduzierbares Beispiel hierfür zu erstellen.

Re: Balkendiagramm Datum Quartal

Verfasst: Sa Jul 11, 2020 6:28 pm
von bigben
EDi hat geschrieben: Do Jul 09, 2020 8:03 pmWie wäre es damit Datumswert anstatt als Double als geordnet kategorisch anzusehen...
Das wäre natürlich der schnellste Weg, aber dann gibt es zwischen den Jahren gar keinen Abstand mehr. Ich habe das reproduzierbare Beispiel dazu aus den Werten von oben gemacht:

Code: Alles auswählen

library(ggplot2)
anzahl=read.table(text="2018.1 1249
2018.2 1176
2018.3 1307
2018.4 1275
2019.1 1402
2019.2 1221
2019.3 1547
2019.4 1452
2020.1 635")

ggplot(anzahl, aes(x=factor(V1), y=V2)) + geom_col()
Im Wesentlichen geht es darum, dass "2019.2" von R verstanden wird als "zweitausenneunzehn KOMMA zwei" und deshalb gibt es diese großen Lücken, weil 2019,5 und 2019,6 und 2019,7 und 2019,8 und 2019,9 und 2020,0 nicht vorkommen. Man muss es entweder wie EDi machen oder eine andere Zuordnung zwischen den komischen Quartalscodierungen zu einer kontinuierlichen Achse finden.

Re: Balkendiagramm Datum Quartal

Verfasst: So Jul 12, 2020 9:39 pm
von Natsu
Vielen Dank euch beiden.

Ich habe das Problem nun verstanden und es gelöst.
mir war nicht bewusst, das ich mit der Quarter Funktion meine Werte von DATE auf DOUBLE ändere. Wenn man aber dann die Erklärung bekommt macht es sogar ein wenig Sinn. Ich muss wohl besser auf die Datentypen hier achten.

Danke, damit hat sich mein Problem gelöst.