plotten Ich erstelle Plots mit Ggplot in R und ich verwendet eine Schleife, um meine Plot Zeit zu beschleunigen. Ich habe jedoch Probleme beim Zeichnen mehrerer Linien in der gleichen Grafik. Daten:R: Wie mehrere Linien in einem Plot mit einer Schleife in ggplot
df <- c("Results", "Capacity", "Power", "LDI","LDE", "LB", "PDC","D")
Einige Daten
Results Capacity Power LDI LDE PDC D CperkWh
1 ImpactDC 1.00 PG20 LDI0.01 LDE0 PDC0 D10 0.010950532
2 ImpactDC 0.95 PG10 LDI0.02 LDE0 PDC0 D10 0.080374607
3 ImpactDC 0.90 PG50 LDI0.003 LDE0 PDC0 D10 0.010158171
4 ImpactDC 0.85 PG5 LDI0.05 LDE0 PDC0 D10 0.006994843
5 ImpactDC 0.80 PG3 LDI0.02 LDE0 PDC0 D10 0.009684512
6 ImpactDC 0.75 PG20 LDI0 LDE0 PDC0 D10 0.007891302
Die Schleife Ich verwende basiert auf here und sieht wie folgt aus:
Power.graph <- function(df, na.rm = TRUE, ...){
Powerlist <- unique(df$Power)
for (i in seq_along(Powerlist)){
plot <-
ggplot(subset(df, df$Power==Powerlist[i]),
aes(Capacity, y = CperkWh), group = df$Power, colour = PDC) +
geom_line() +
geom_point()+
theme(axis.text.x = element_text(size=12))+
facet_wrap(~ PDC, ncol =1)+
theme(legend.position = "none")+
scale_y_continuous("Income in €/kWh")+
scale_x_continuous("Capacity of the line")+
ggtitle(paste(Powerlist[i], ' Capacity of the line \n',
"Income per kWh \n",
sep=''))
#save plot as PNG
ggsave(plot = last_plot(), file= paste(StoreResults, '/Results/',
Powerlist[i], "YesDCNoV2G.png", sep=''), scale=2)
print(plot)
}
}
#Run the function
Power.graph(df)
Was ich möchte, ist zu tun, um plotten mehrere Zeilen (so das Diagramm CperkWh) für jeden Wert von LDI separat. Wenn ich das Programm ausführe, ist das Diagramm, das ich erhalte, was ich will, aber der Befehl geom_line verbindet alle Punkte und ich möchte, dass es nur den Punkt mit dem gleichen Wert von LDI verbindet. Das passiert jetzt:
Kann mir jemand helfen?
Können Sie einige Beispieldaten angeben, anstatt nur Ihre Spaltennamen? – cmaher
Scheint so, als müssten Sie 'group' innerhalb von' aes' verschieben. Versuchen Sie, ein [reproduzierbares Beispiel] hinzuzufügen (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), damit die Leute Ihnen besser helfen können. – aosmith
Vielen Dank für die Tipps: Ich habe einige Daten hinzugefügt. – ima