我有一个数据框df
,看起来像这样
> dput(head(df))
structure(list(Percent = c(1, 2, 3, 4, 5), Test = c(4, 2, 3,
5, 2), Train = c(10, 12, 10, 13, 15)), .Names = c("Percent",
"Test", "Train"), row.names = c(NA, 5L), class = "data.frame")
看起来像这样
Percent Test Train
1 4 10
2 2 12
3 3 10
4 5 13
5 2 15
如何将Test
和Train
绘制成ggplot
的两行?
我现在有这样的事情
ggplot(dfk, aes(x = Percent, y = Test)) + geom_point() +
geom_line()
我还想在地块上添加Train
点和线连接,并在图例中使用不同的颜色和标签。我不知道该怎么做。
答案 0 :(得分:3)
有两种方法,可以预先添加图层或重组数据。
添加图层:
ggplot(df, aes(x = Percent)) +
geom_point(aes(y = Test), colour = "red") +
geom_line(aes(y = Test), colour = "red") +
geom_point(aes(y = Train), colour = "blue") +
geom_line(aes(y = Train), colour = "blue")
重组您的数据:
df2 <- tidyr::gather(df, key = type, value = value, -Percent)
ggplot(df2, aes(x = Percent, y = value, colour = type)) +
geom_point() +
geom_line()
选项2通常是首选,因为它可以发挥ggplot2
的优势和优雅。