0

我试图用 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] 的类有关吗?如果是这样,它应该改成什么?我希望图表在 xaxis 上显示 dat2[,1] 中的字符串以及图中显示的两个变量。有人能指出我正确的方向吗?

修正:

添加后

几何线()

要得到

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

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

4

1 回答 1

2

您必须通过线告诉ggplot()哪些点要连接。这是通过group=variableaes().

ggplot(data = dat2,
       aes(x = Locs, y = value, colour = variable,group=variable)) +
  geom_line()
于 2013-08-16T08:11:43.380 回答