展示五种橘树随时间推移的生长状况的折线图

我们以绘制五种橘树随时间推移的生长状况为例,逐步展示一个更复杂折线图的创建过程。数据来源于R自带的数据集。

首先调取数据Orange
data(Orange)
接着将因子转化为数值型并查看变量值的范围
###将因子转化为数值型##

Orange$Tree <- as.numeric(Orange$Tree)
ntrees <- max(Orange$Tree)

xrange <- range(Orange$age)
yrange <- range(Orange$circumference)
创建图形

注意, plot() 和 lines() 函数工作原理并不相同。 plot() 函数是在被调用时创建一幅新图,
而 lines() 函数则是在已存在的图形上添加信息,并不能自己生成图形。
因此, lines() 函数通常是在 plot() 函数生成一幅图形后再被调用。如果对图形有要求,
你可以先通过 plot() 函数中的 type="n" 选项来创建坐标轴、标题和其他图形特征,然后再使用
lines() 函数添加各种需要绘制的曲线。

###创建图形##
plot(xrange,yrange,
     type = "n",
     xlab = 'Age(days)',##x轴名称
     ylab = 'Circumference(mm)'##y轴名称
     )
colors <- rainbow(ntrees)###线条颜色
linetype <- c(1:ntrees)##线条类型
plotchar <- seq(18,18+ntrees,1)##待会用来设置绘图符号设置的参数
给plot图添加线条
###添加线条##用for循环语句
for(i in 1:ntrees){
  tree <- subset(Orange,Tree==i)###选取第i种数的数据
  lines(tree$age,tree$circumference,
        type='b',
        lwd=2,###线条宽度
        lty=linetype[i],
        col=colors[i],
        pch=plotchar[i]###设置绘图符号设置的参数
        )
}
添加标题
title('Tree Growth','example of line plot')
添加图例
legend(xrange[1],yrange[2],
       1:ntrees,
       cex=0.8,
       col=colors,
       pch=plotchar,
       lty=linetype,
       title = 'Tree'
       )

plot() 函数先用来创建空图形,只设定了轴标签和轴范围,并没有
绘制任何数据点,每种橘树独有的折线和点都是随后通过 lines() 函数来添加的。

展示五种橘树生长状况的折线图

杰少吃屁.png

可以看到,Tree 4和Tree 5在整个时间段中一直保持着最快的生长速度,而且Tree 5在大约664天的时候超
过了Tree 4。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容