2

我是使用 ggplot 2 的新手。当我使用时,plot()我只是使用points()lines()在同一个 x 上添加另一个 y,如何在 ggplot 中解决这个问题?

ggplot(df, aes(x=xVal, y=y1Val ,colour="darkred")) + geom_line(size=2)

在我得到解决方案之前:

plot(df$xVal, df$y1Val,color="darkred")
pints(df$xVal, df$y2Val,color="blue")

我确实有 3 个变量,并且想在最后一个变量上绘制其中的 2 个。我认为正常的 plot() 示例指出了我想要的:例如

x y1 y2
1 2 3
5 4 6
3 3 5
2 2 4

现在在 x 上用 y1 和 y2 绘制两条线。

如何处理可以使用正确名称设置图例的颜色?谢谢!

4

1 回答 1

2

嗯,我不完全清楚你想要什么,所以我会提供一个建议,你可以推荐更正以匹配你想要的输出。

library(reshape2)
library(ggplot2)
set.seed(16)
df <- data.frame(x = sample(1:10), y1 = sample(1:10), y2 = sample(1:10))
df[5,2] <- NA
df[7,3] <- NA
df <- df[complete.cases(df), ]
df2 <- melt(df, id = "x")
df2
# > df2
#   x variable value
# 1 1       y1     2
# 2 5       y1     4
# 3 3       y1     3
# 4 2       y1     2
# 5 1       y2     3
# 6 5       y2     6
# 7 3       y2     5
# 8 2       y2     4
ggplot(df2, aes(x = x, y = value, color = variable)) + 
  geom_line(size = 1) + geom_point(size = 3) + 
  scale_color_brewer(palette = "Set1")

线和图

于 2013-07-02T12:37:17.323 回答