R 如何绘制多条曲线、同一数据帧、第1列中每个唯一值对应一条曲线?
所以我有一个数据框,看起来像这样R 如何绘制多条曲线、同一数据帧、第1列中每个唯一值对应一条曲线?,r,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列中的每个唯一值绘制一条曲线,并将它们叠加在同一个图上
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坐标指定。我事先不知道这些值是什么,它们也没有数字标签。我该怎么做
信不信由你,我在网上找不到这个问题的答案
谢谢 这里有两种可能性,一种是ggplot2,另一种是base:
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')
没有数字标签意味着什么?您应该发布一个示例数据集。@BondedDust这意味着标签是foo和bar之类的东西,而不是1、2、3或Category1、Category2、Category3。这使得它不太适合于for循环之类的。