我正在尝试使用ggplot绘制线条加条形图,但我收到错误“错误:ggplot2不知道如何处理类uneval的数据”
require(ggplot2)
df.1 <- data.frame(x = c(1:5), y = rnorm(5))
df.2 <- data.frame(x = c(1:10), y = runif(10))
p <- ggplot(df.1, aes(x=x, y=y)) +
geom_bar(stat = "identity") +
geom_line(df.2, aes(x=x, y=y))
两个数据帧的x轴刻度始终相同,但需要将其中一个绘制为折线图,而另一个需要绘制为条形图。在我看来,ggplot2不支持两个数据帧。有没有解决这个问题的工作?
我尝试通过rCharts使用nvd3但是现在似乎不支持linePlusBarChart。
提前致谢!!!
答案 0 :(得分:7)
明确覆盖data=
参数:
ggplot(df.1, aes(x=x, y=y)) +
geom_bar(stat = "identity") +
geom_line(data=df.2, aes(x=x, y=y))
请注意,这实际上是因为默认情况下数据是绘图图层的第二个属性(与基本ggplot调用不同),因此geom_line(aes(x=x, y=y),df.2)
也可以使用