2012-01-11 49 views
1

我有一個qplot,它顯示了5個不同的分組(用colour = type表示),每個分組有兩個因變量。命令如下:qplot中的標籤行

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

我想標記兩個不同的線,這樣我可以告訴其中五個代表VAR1和其中五個代表VAR2。

我該怎麼做?

回答

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)) 
+1

This works;這是做這個最簡單的方法嗎?是不是隻有一種方法來標記一行字? – user592419 2012-01-11 19:44:01