cumulatif de la parcelle à l'aide de ggplot2
Je suis en train d'apprendre à utiliser ggplot2
et suis à la recherche de la plus petite ggplot2
code qui reproduit le base::plot
résultat ci-dessous. J'ai essayé quelques petites choses et ils ont tous fini par être horriblement long, donc je suis à la recherche de la plus petite expression et idéalement je voudrais avoir les dates sur l'axe des x (qui ne sont pas là dans le plot
ci-dessous).
df = data.frame(date = c(20121201, 20121220, 20130101, 20130115, 20130201),
val = c(10, 5, 8, 20, 4))
plot(cumsum(rowsum(df$val, df$date)), type = "l")
OriginalL'auteur eddi | 2013-04-05
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Juste enlever
geom_point()
si vous ne le voulez pas.Edit: Car vous avez besoin de tracer les données en tant que telle avec x étiquettes sont des dates, vous pouvez tracer avec
x=1:5
et l'utilisationscale_x_discrete
pour définirlabels
une nouvelledata.frame
. La prise dedf
:Puisque vous dites que vous aurez plus de 1
val
"date", vous pouvez les regrouper en utilisant d'abord desplyr
, par exemple.Ensuite, vous pouvez procéder avec la même commande en remplaçant
x = 1:5
avecx = seq_len(nrow(dd))
.plot
. Peutggplot
à moins de racheter lui-même en ajoutant les dates sur lex
axe, probablement tourné à 90 degrés? 🙂citation: "et idéalement je voudrais avoir les dates sur l'axe des x (qui ne sont pas là dans le graphique ci-dessous)."
J'ai aussi essayé d'éditer votre post pour corriger pour le cas où il y a plus de 1 val par jour, mais la modification n'a pas traversé.
Merci! Suffit d'ajouter une entrée à la
df
avec la même date et certainsval
et de voir leplot
de sortie. Ça va être la quotidienne cumulative somme deval
.Je vais marquer cette réponse, mais s'il vous plaît corriger les
rowsum
peu pour référence future. Ne peux pas dire que c'est assez, mais merci 🙂OriginalL'auteur Arun
Après une couple d'années, je me suis dit:
OriginalL'auteur eddi
Jan Boyer semble avoir trouvé un plus concis solution à ce problème dans cette question, que j'ai raccourci un peu et combiné avec les réponses de Prradep, de manière à fournir une (je l'espère), up-to-date de la réponse:
Noter que
date
n'est pas la Date, maischaracter
, et quevalue
est déjà regroupés comme suggéré par Prradep dans sa réponse ci-dessus.OriginalL'auteur Lukas