如何为第1列中的每个唯一值绘制多条曲线,相同数据框,一条曲线?

时间:2014-11-04 20:25:52

标签: r

所以我有一个看起来像这样的数据框

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列中的每个唯一值绘制一条曲线,并将它们叠加在同一个图上,其中每条曲线上的点由列中的(数字)(x,y)坐标指定2和3.我不知道这些值是什么,而且他们没有数字标签。我怎么能这样做?

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

谢谢!

1 个答案:

答案 0 :(得分: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')