ggplot叠加图错误,图中没有图层

时间:2013-08-16 07:57:31

标签: r ggplot2

我试图用ggplot2在同一个数字上叠加两个变量,所以我使用melt以正确的格式获取数据然后使用以下内容:

Locations <- c("USA","UK","Spain")
vals_1 <- c(44,6,76)
vals_2 <- c(0.2,0.9,4.1)

dat <- data.frame(Locs = Locations,
                  method_1 = vals_1,
                  method_2 = vals_2)
dat2 <- melt(dat,id = "Locs")

ggplot(data = dat2,
       aes(x = Locs, y = value, colour = variable))

但这会产生错误。为什么说没有图层?

这与dat2 [,1]和dat2 [,2]类是一个因素吗?如果是这样,应该改变什么?我想图表显示x轴上dat2 [,1]中的字符串以及图中显示的两个变量。有人能指出我正确的方向吗?

修改:

添加

geom_line()

获取

ggplot(data = dat2,
       aes(x = Locs, y = value, colour = variable)) +
  geom_line()

我收到以下错误 geom_path:每组只包含一个观察。你需要调整群体审美吗?

1 个答案:

答案 0 :(得分:2)

您必须告诉ggplot()哪些点按行连接。这是通过在group=variable内添加aes()来完成的。

ggplot(data = dat2,
       aes(x = Locs, y = value, colour = variable,group=variable)) +
  geom_line()