R 一个更好的方法来绘制大量的线(也许在ggplot中)?

R 一个更好的方法来绘制大量的线(也许在ggplot中)?,r,plot,ggplot2,R,Plot,Ggplot2,使用R3.0.2,我有一个数据帧 head() 0 5 10 15 30 60 120 180 240 YKL134C 0.08 -0.03 -0.74 -0.92 -0.80 -0.56 -0.54 -0.42 -0.48 YMR056C -0.33 -0.26 -0.56 -0.58 -0.97 -1.47 -1.31 -1.53 -1.55 YBR085W 0.55 3.33 4.11 3.47 2.16 2.19

使用R3.0.2,我有一个数据帧

head()
         0     5    10    15    30    60   120   180   240
YKL134C  0.08 -0.03 -0.74 -0.92 -0.80 -0.56 -0.54 -0.42 -0.48
YMR056C -0.33 -0.26 -0.56 -0.58 -0.97 -1.47 -1.31 -1.53 -1.55
YBR085W  0.55  3.33  4.11  3.47  2.16  2.19  2.01  2.09  1.55
YJR155W -0.44 -0.92 -0.27  0.75  0.28  0.45  0.45  0.38  0.51
YNL331C  0.42  0.01 -0.05  0.23  0.19  0.43  0.73  0.95  0.86
YOL165C -0.49 -0.46 -0.25  0.03 -0.26 -0.16 -0.12 -0.37 -0.34
其中row.names()是变量名,names()是测量时间,值是测量值。它有几千行深。让我们称之为
tmp

我想做一个完整性检查,将每个变量作为时间绘制,而将值作为一个曲线图绘制在一个曲线图上。有什么比用plot()和lines()简单地绘制每条线更好的方法呢:


timez我个人更喜欢ggplot2来满足我所有的绘图需求。假设我正确理解了您的意思,您可以使用REGRAPE2以长格式放置数据,然后使用ggplot2在同一个绘图上绘制所有线条:

library(reshape2)
df2<-melt(df,id.var="var")
names(df2)<-c("var","time","value")
df2$time<-as.numeric(substring(df2$time,2))

library(ggplot2)
ggplot(df2,aes(x=time,y=value,colour=var))+geom_line()
library(重塑2)

df2您可以简单地使用
matplot
,如下所示

DF
##             0     5    10    15    30    60   120   180   240
## YKL134C  0.08 -0.03 -0.74 -0.92 -0.80 -0.56 -0.54 -0.42 -0.48
## YMR056C -0.33 -0.26 -0.56 -0.58 -0.97 -1.47 -1.31 -1.53 -1.55
## YBR085W  0.55  3.33  4.11  3.47  2.16  2.19  2.01  2.09  1.55
## YJR155W -0.44 -0.92 -0.27  0.75  0.28  0.45  0.45  0.38  0.51
## YNL331C  0.42  0.01 -0.05  0.23  0.19  0.43  0.73  0.95  0.86
## YOL165C -0.49 -0.46 -0.25  0.03 -0.26 -0.16 -0.12 -0.37 -0.34

matplot(t(DF), type = "l", xaxt = "n", ylab = "") + axis(side = 1, at = 1:length(names(DF)), labels = names(DF))
xaxt=“n”
禁止绘制x轴注释<代码>轴
函数允许您指定任何轴的详细信息,在本例中,我们使用它来指定x轴的标签

它应该产生如下图

DF
##             0     5    10    15    30    60   120   180   240
## YKL134C  0.08 -0.03 -0.74 -0.92 -0.80 -0.56 -0.54 -0.42 -0.48
## YMR056C -0.33 -0.26 -0.56 -0.58 -0.97 -1.47 -1.31 -1.53 -1.55
## YBR085W  0.55  3.33  4.11  3.47  2.16  2.19  2.01  2.09  1.55
## YJR155W -0.44 -0.92 -0.27  0.75  0.28  0.45  0.45  0.38  0.51
## YNL331C  0.42  0.01 -0.05  0.23  0.19  0.43  0.73  0.95  0.86
## YOL165C -0.49 -0.46 -0.25  0.03 -0.26 -0.16 -0.12 -0.37 -0.34

matplot(t(DF), type = "l", xaxt = "n", ylab = "") + axis(side = 1, at = 1:length(names(DF)), labels = names(DF))