我的csv文件中有记录组。我想在同一窗口中为不同的组创建不同颜色的多个图形。例如,我在不同的时间点有N1
组A
的记录,在不同的时间点有N2
的{{1}}。我希望在同一个窗口中有两个图表,红色和绿色。可能吗?是否有可能在下面的例子中给出“group by”选项(这个例子对我来说对一套工作没问题)?
B
我看到有不同种类的图表,但这种方法非常简单。在此先感谢您的帮助。
============================> @jbaums, 您的代码可以正常使用该数据框。但是当我在真实环境中尝试如下时,虽然我的结果很好,但两张图的颜色都相同。我在做错误吗?我试着修好我的水平,但没有运气!
plot(as.Date(Lines$TIMEPOINT), Lines$RESULT_VALUE, xlab="Time In Week.",
ylab= "Result Value AT Specific Week.", type='l', col='red')
和第二个问题是:legand是红色但是线图是粉红色的。任何回复都将受到高度赞赏。
答案 0 :(得分:0)
如果您的数据是行,并且您有A和B的组变量,则需要以下内容:
par(mfrow = c(2,1))
plot(as.Date(Lines$TIMEPOINT[Lines$group == 'A']), Lines$RESULT_VALUE[Lines$group == 'A'], xlab= "Time In Week.", ylab= "Result Value AT Specific Week.", type='l', col='red')
plot(as.Date(Lines$TIMEPOINT[Lines$group == 'B']), Lines$RESULT_VALUE[Lines$group == 'B'], xlab= "Time In Week.", ylab= "Result Value AT Specific Week.", type='l', col='green')
答案 1 :(得分:0)
这是一种迭代所有群体的方法:
Lines <- structure(list(AS_group = structure(c(1L, 1L, 2L, 1L, 3L, 2L),
.Label = c("A", "B", "C"),
class = "factor"),
TIMEPOINT = c(4L, 5L, 4L, 1L, 5L, 1L),
RESULT_VALUE = c(696537L, 718748L, 799355L, 805800L,
701262L, 531579L)),
.Names = c("AS_group", "TIMEPOINT", "RESULT_VALUE" ),
row.names = c(NA, 6L), class = "data.frame")
plot(Lines[, 2:3], type='n')
sapply(unique(Lines$AS_group), function(i) {
Line <- subset(Lines, AS_group==i, select=2:3)
points(Line[order(Line$TIMEPOINT), ], col=i, type='o', pch=20)
})
legend('bottomright', legend=unique(Lines$AS_group), bty='n',
lty=1, col=seq_along(unique(Lines$AS_group)), pch=20)
请注意,在这个小数据子集(前6行)中,只有一个C
实例,因此对于该组,只绘制一个点,没有任何行。
有关详细信息,请参阅?plot
,?for
,?subset
,?points
和?legend
。