qplot中的标签行

时间:2012-01-11 01:02:44

标签: r ggplot2

我有qplot显示5个不同的分组(用colour = type表示),每个分组有两个因变量。该命令如下所示:

qplot(data = data, x = day, y = var1, geom = "line", colour = type) + 
      geom_line(aes(y = var2, colour = value)

我想标记两个不同的行,以便我可以分辨哪五个代表var1,哪五个代表var2。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用melt将数据转换为“高”格式,并使用其他美学(例如线型)来区分变量。

# Sample data
n <- 100
k <- 5
d <- data.frame(
  day = rep(1:n,k),
  type = factor(rep(1:k, each=n)),
  var1 = as.vector( replicate(k, cumsum(rnorm(n))) ),
  var2 = as.vector( replicate(k, cumsum(rnorm(n))) )
)

# Normalize the data
library(reshape2)
d <- melt(d, id.vars=c("day","type"))

# Plot
library(ggplot2)
ggplot(d) + geom_line(aes(x=day, y=value, colour=type, linetype=variable))