gのプロットをRで作成していて、プロット時間を短縮するためにループを使用しました。しかし、私は同じグラフに複数の行をプロットする問題があります。 データ:R:ggplotのループを使って1つのプロットに複数の線をプロットする方法
df <- c("Results", "Capacity", "Power", "LDI","LDE", "LB", "PDC","D")
一部のデータ
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
私が使用しているループがhereに基づいており、次のようになりますされています。私がやりたい何
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)
プロットすることですLDIのすべての値に対して複数の行(グラフCperkWh)が別々に表示されます。私がプログラムを実行するとき、私が受け取ったプロットは私が望むものですが、geom_lineコマンドはすべてのポイントを接続します。そして、ポイントをLDIと同じ値で接続するだけです。これは今起こっていることです:
誰か助けてくれますか?
あなたの列名ではなく、いくつかのサンプルデータを提供できますか? – cmaher
'aes'の中で' group'を動かす必要があるようです。 [再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を追加してみてください。皆さんが助けてくれるでしょう。 – aosmith
ヒントありがとう:私はいくつかのデータを追加しました。 – ima