年の値がgeom_line()に接続され、合計が別のgeom_point()のように表示されるように、ggplotでtimeseriesをプロットしようとしています。 x軸。geom_line()とgeom_point() - 長さの異なるデータをプロットする
Aesthetics must be either length 1 or the same as the data (1): x, y
私はまた、異なる2つのデータフレームを使用しようとしましたが、同様のエラーを取得:私は美的内のデータのサブセットが、エラーを取得しようとしてい
。申し訳ありませんが、これは基本的な質問ですが、私は解決策を見つける運がなかった。
下記のダミーデータセットとggplot2スクリプトをご覧ください。最終的なプロットはこのように見えますが、 '2017'と 'total'を結ぶ線はなく、できればAdobe Illustratorで出力を編集する必要はありません!
助けてください。
library(ggplot2)
##synthetic data
Year <- seq(1996,2017)
var1 <- sample(0:10,length(Year), replace=TRUE)
var2 <- sample(0:10,length(Year), replace=TRUE)
var3 <- sample(0:10,length(Year), replace=TRUE)
var4 <- sample(0:10,length(Year), replace=TRUE)
total <- c("total",sample(0:10,4, replace=TRUE))
dat <- data.frame(Year, var1,var2,var3,var4)
dat <- rbind(dat,total)
plt <- ggplot(data=dat, aes(x=Year))
plt <- plt +
geom_point(aes(y=var1, colour = "var1")) +
geom_point(aes(y=var2, colour = "var2")) +
geom_point(aes(y=var3, colour= "var3")) +
geom_point(aes(y=var4, colour = "var4")) +
geom_line(aes(y=var1, group=1, colour = "var1")) +
geom_line(aes(y=var2, group=1, colour="var2")) +
geom_line(aes(y=var3, group=1, colour="var3"))+
geom_line(aes(y=var4, group=1, colour= "var4")) +
scale_colour_manual("",
breaks = c("var1", "var2", "var3", "var4"),
values = c("#d7191c","#fdae61","#abd9e9","#2c7bb6"))
の代わりにあなたの質問に答えを編集するに#rstats以上の優れた民族によって提供されるように、私は、一緒に行ったソリューション、ちょうど(適切なクレジット付き)以下の答えとしてそれを追加。 – Axeman
ヘッドアップのおかげで、どのような礼儀だったかわからなかった – mlcyo