2014-11-04 60 views
0

所以我有一个看起来像这样如何绘制多条曲线,相同的数据框,第1列中每个唯一值的曲线?

Col1 Col2 Col3 
------------------ 
foo x11 y11 
foo x12 y12 
foo x13 y13 
bar x21 y21 
bar x22 y22 
bar x23 y23 
baz x31 y31 
baz x32 y32 
baz x33 y33 

我想绘制一条曲线在第1列的每个唯一值,并叠加在同一个小区,其中每个曲线上的点的数据帧由第2列和第3列中的(数字)(x,y)坐标指定。我不知道这些值是什么,并且它们没有数字标签。我怎样才能做到这一点?

(信不信由你,我无法找到这个问题的答案随时随地在互联网上)

谢谢!

+0

什么是“他们没有数字标签”是什么意思?你应该发布一个示例数据集。 – 2014-11-04 20:31:06

+0

@BondedDust它表示标签是“foo”和“bar”而不是1,2,3或Category1,Category2,Category3。这使得它更不适合循环等。 – Jessica 2014-11-04 21:47:31

回答

0

这里有两种可能,一种与GGPLOT2和一个含底座:

set.seed(1234) 
df <- data.frame(fac = gl(3, 3), x = rep(1:3, 3), y = rnorm(9)) 

# ggplot 
require(ggplot2) 
ggplot(df, aes(x = x, y = y, col = fac)) + 
    geom_line() 

# base 
dfwide <- reshape(df, timevar = 'fac', idvar = 'x', direction = 'wide') 
matplot(dfwide[,-1], type = 'l')