当前位置: 首页 > news >正文

R语言统计分析——折线图

参考资料:R语言实战【第2版】

        如果将散点图上的点从左到右连接起来,就会得到一个折线图。以基础安装中的Orange数据集为例,展示如下:

# 设置绘图参数
opar<-par(no.readonly = TRUE)
# 画布拆分为1行2列
par(mfrow=c(1,2))
# 选取绘图数据
t1<-subset(Orange,Tree==1)
# 绘制散点图
plot(t1$age,t1$circumference,xlab="Age (days)",ylab="Circumference (mm)",main="Orange Tree 1 Growth")
# 绘制折线图
plot(t1$age,t1$circumference,xlab="Age (days)",ylab="Circumference (mm)",main="Orange Tree 1 Growth",type="b")
# 恢复初始参数设置
par(opar)

折线图一般可以用下列两个函数之一来绘制:

        plot(x,y,type=)

        lines(x,y,type=)

其中,x和y是要连接的(x,y)点的数值型向量。参数type可选值如下:

类型图形外观
p只有点
l只有线
o实心点和线(线覆盖在点上)

b、c

线连接点
s、S阶梯线
h直方图式的垂直线
n不生成任何点和线(通常为后面的命令创建坐标轴)

type="p"生成典型的散点图

type="b"生成最常见的折线图

b和c之间的不同在于点是否出现或者线之间是否有空隙

type="s"和type="S"都是生成阶梯线,但第一种类型是先横线再上升,而第二种类型是先上升再横线。

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

# 将因子型数据转换为数值型数据
Orange$Tree<-as.numeric(Orange$Tree)
ntree<-max(Orange$Tree)
xrange<-range(Orange$age)
yrange<-range(Orange$circumference)
# 创建图形
plot(xrange,yrange,type="n",xlab="Age(days)",ylab="Circumference(mm)")
# 设置需要的图形参数数据
colors<-rainbow(ntree)
linetype<-c(1:ntree)
plotchar<-seq(18,18+ntree,1)
# 添加线条
for (i in 1:ntree){tree<-subset(Orange,Tree==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:ntree,cex=0.4,col=colors,pch=plotchar,lty=linetype,title="Tree")

http://www.lryc.cn/news/461963.html

相关文章:

  • 前端怎么实现电子签名
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day1
  • 鼠标移入盒子,盒子跟随鼠标移动
  • css的简单问题
  • 使⽤ Override 和 New 关键字进⾏版本控制(C#)
  • JavaScript 15章:模块化编程
  • qt creator 开发环境的安装
  • Xilinx远程固件升级(二)——STARTUPE2原语的使用
  • DynamicExpresso
  • 从Naive RAG到Agentic RAG:基于Milvus构建Agentic RAG
  • Linux 环境chrony设置服务器间时间同步一致
  • MetaCTO确认将放弃QuestPro2及轻量化头显正在开发中
  • 深度学习 .exp()
  • 从数据管理到功能优化:Vue+TS 项目实用技巧分享
  • SSD |(六)FTL详解(上)
  • 程序报错:ModuleNotFoundError: No module named ‘code.utils‘; ‘code‘ is not a package
  • 【closerAI ComfyUI】电商模特一键换装解决方案来了!细节到位无瑕疵!再加上flux模型加持,这个工作流不服不行!
  • 【优选算法篇】编织算法的流动诗篇:滑动窗口的轻盈之美
  • Linux 常用打包和压缩格式命令(tar tar.gz tar.bz2 tar.xz zip)
  • Scala入门基础(12)抽象类
  • unity静态批处理
  • python项目实战——下载美女图片
  • git分布式版本控制系统命令介绍、功能作用案例、子模块等知识点总结
  • 第八课:Python学习之循环
  • 设计模式——建造者模式(5)
  • java面向对象编程--高级(二)
  • 定时发送邮件
  • 基于Java的免税商品优选购物商城设计与实现代码(论文+源码)_kaic
  • 解决selenium启动慢问题
  • Springboot + zset + lua 实现滑动窗口