百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

用R语言做数据分析——R语言的绘图命令

toyiye 2024-07-11 00:34 12 浏览 0 评论

利用绘图函数研究一直数据是一种直观、有效地方法。在R语言中、有两类左图函数,一类是高水平左图函数,即所有的绘图函数均可产生图形,可以有坐标轴、图和坐标轴的说明文字等;另一类是低水平作图函数,这类函数自身无法生成图形,只能在高水平左图函数产生的图形基础上增加新的图形。

高水平作图函数

高水平作图函数有plot()、pairs()、coplot()、qqnorm()、qqline()、hist()和contour()

plot()函数可绘制数据的散点图、曲线图等,它有四种格式:

  • plot(x,y):其中x、y是向量,生成y关于x的散点图;

  • plot(x):其中x是一时间序列,生成时间序列图形,如果x是向量,则生成x关于下标的散点图;

  • plot(f):f是因子,生成f的直方图;

  • plot(f,y):f是因子,y是向量,生成y关于f水平的箱线图。

  • plot(df)、plot(~expr)、plot(y~expr):其中df是数据框、y是任意一个对象,expr是对象名称的表达式;

例子:利用四种不同配方的材料A1、A2、A3、A4生产出来的元件,测得其使用寿命如下:绘出四种不同配方材料寿命的箱线图,并比较元件的使用寿命有无明显的差异?

>y<-c(1600,1610,1650,1680,1700,1700,1780,1500,1640,1400,1700,1750,1640,1550,1600,1620,1640,1600,1740,1800,1510,1520,1530,1570,1640,1600)

> f<-factor(c(rep(1,7),rep(2,5),rep(3,8),rep(4,6)))

> plot(f,y)

> Age<-c(13,13,14,12,12,15,11,15,14,14,14,15,12,13,12,16,12,11,15)

>Height<-c(56.5,65.3,64.3,56.3,59.8,66.5,51.3,62.5,62.8,69.0,63.5,67.0,57.3,62.5,59.0,72.0,64.8,57.5,66.5)

>Weight<-c(84.0,98.0,90.0,77.0,84.5,112.0,50.5,112.5,102.5,112.5,102.5,133.0,83.0,84.0,99.5,150.0,128.0,85.0,112.0)

> df<-data.frame(Age,Height,Weight)

> plot(df)

>#绘制身高和年龄的散点图

> plot(df$Age+df$Height)

>#绘制体重和年龄、体重和身高的散点图

>attach(df)

>plot(Weight~Age+Height)

R语言为显示多变量数据提供了两个非常有用的函数,一个是pair函数,另一个是coplot()函数。

  • pairs(x):其中x是矩阵或数据框时,绘制矩阵各列的散点图;

  • coplot(a~b|c)函数如果有三、四个变量时,可以将散点图画得更加详细,其中a、b是数值向量,c是向量或因子;

> pairs(df)

>coplot(Weight~Height | Age)

dotchart(x,....)构造数据x的点图,在点图中,y轴是数据x标记,x轴数据x的数值。

例如,R语言提供了弗吉尼亚州1940年人口死亡率的数据VADeaths:

>dotchart(VADeaths,main="Death Rates in Virginia - 1940")

> dotchart(t(VADeaths),main="Death Rates in Virginia - 1940")

image(x,y,z)

contour(x,y,z)

persp(x,y,z)

其中x、y是数值型向量,z是x、y对应的矩阵(z的行数是x的维数,z的列数是y的维数),image()绘制出三维图形的映像,contour()绘制出三维图形的等值线,persp()绘制出三维图形的表面曲线。

> x<-seq(0,2800,400)

> y<-seq(0,2400,400)

> z<-scan()

1: 1180 1320 1450 1420 1400 1300 700 900

9: 1230 1390 1500 1500 1400 900 1100 1060

17: 1270 1500 1200 1100 1350 1450 1200 1150

25: 1370 1500 1200 1100 1550 1600 1550 1380

33: 1460 1500 1550 1600 1550 1600 1600 1600

41: 1450 1480 1500 1550 1510 1430 1300 1200

49: 1430 1450 1470 1320 1280 1200 1080 940

> Z<-matrix(z,nrow = 8)

> contour(x,y,Z,levels = seq(min(z),max(z),by=80))

> persp(x,y,Z)

在高水平绘图函数中,可以加一些命令,不断完善图的内容,或者增加一些有用的说明。

add = TRUE 表示所绘图在原图上家兔,缺省值为add=FALSE,即新的图替换原图。

axes = FALSE表示所绘图形没有坐标轴,缺省值为axes = TRUE

log = "x"表示x轴的数据取对数,log="y"表示y轴的数据取对数,log="xy"表示x轴与y轴的数据同时取对数。

xlab是x轴的说明,ylab是y轴的说明,main是图的说明,sub是对子图的说明。

低水平作图函数

有时候高水平的作图函数并不能完全达到作图的指标,需要低水平的作图函数对图形予以补充。所有的低水平作图函数所作的图形必须是在高水平作图函数所绘图形的基础之上增加的新图形。

低水平作图函数有points()、lines()、text()、abline()、polygon()、legend()、title()和axis()等。

points()加点函数是在已有图上加点,points(x,y)其功能相当于plot(x,y)

lines()加线函数是在已有图上加线,lines(x,y)其功能相当于plot(x,y,type="l")

text(x,y,labels,...)的作用是在图上加标记,其中x、y是数据向量,labels是说明。

abline()的作用是在图上加直线,abline(a,b)表示画一条y=a+bx的直线;abline(h=y)表示画一条过所有点的水平直线;abline(v=y)表示画一条过所有点的竖直直线;abline(lm.obj)表示绘制线性模型得到的线性方程。

> w<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)

> h<-c(56.5,65.3,64.3,56.3,59.8,66.5,51.3,62.5,62.8,69.063.5,67.0,57.3,62.5,59.0)

> plot(w,h)

> lm.sol<-lm(w~h)

> abline(lm.sol)

polygon(x,y)函数可以在以数据(x,y)为坐标,依次连接所有的点,绘制出一多边形。

title(main,sub)函数的作用是在图上加上标题,可以添加主标题或者子标题;

axis(side)表示在坐标轴上加标记、说明或其他内容,side=1表示所加内容放在图的底部,side=2表示所加内容放在图的左侧,side=3表示所加内容放在图的顶部,side=4表示所加内容放在图的右侧

相关推荐

如何用 coco 数据集训练 Detectron2 模型?

随着最新的Pythorc1.3版本的发布,下一代完全重写了它以前的目标检测框架,新的目标检测框架被称为Detectron2。本教程将通过使用自定义coco数据集训练实例分割模型,帮助你开始使...

CICD联动阿里云容器服务Kubernetes实践之Bamboo篇

本文档以构建一个Java软件项目并部署到阿里云容器服务的Kubernetes集群为例说明如何使用Bamboo在阿里云Kubernetes服务上运行RemoteAgents并在agents上...

Open3D-ML点云语义分割实验【RandLA-Net】

作为点云Open3D-ML实验的一部分,我撰写了文章解释如何使用Tensorflow和PyTorch支持安装此库。为了测试安装,我解释了如何运行一个简单的Python脚本来可视化名为...

清理系统不用第三方工具(系统自带清理软件效果好不?)

清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...

【信创】联想开先终端开机不显示grub界面的修改方法

原文链接:【信创】联想开先终端开机不显示grub界面的修改方法...

如意玲珑成熟度再提升,三大发行版支持教程来啦!

前期,我们已分别发布如意玲珑在deepinV23与UOSV20、openEuler24.03发行版的操作指南,本文,我们将为大家详细介绍Ubuntu24.04、Debian12、op...

118种常见的多媒体文件格式(英文简写)

MP4[?mpi?f??]-MPEG-4Part14(MPEG-4第14部分)AVI[e?vi??a?]-AudioVideoInterleave(音视频交错)MOV[m...

密码丢了急上火?码住7种console密码紧急恢复方式!

身为攻城狮的你,...

CSGO丨CS2的cfg指令代码分享(csgo自己的cfg在哪里?config文件位置在哪?)

?...

使用open SSL生成局域网IP地址证书

某些特殊情况下,用户内网访问多可文档管理系统时需要启用SSL传输加密功能,但只有IP,没有域名和证书。这种情况下多可提供了一种免费可行的方式,通过openSSL生成免费证书。此方法生成证书浏览器会提示...

Python中加载配置文件(python怎么加载程序包)

我们在做开发的时候经常要使用配置文件,那么配置文件的加载就需要我们提前考虑,再不使用任何框架的情况下,我们通常会有两种解决办法:完整加载将所有配置信息一次性写入单一配置文件.部分加载将常用配置信息写...

python开发项目,不得不了解的.cfg配置文件

安装软件时,经常会见到后缀为.cfg、.ini的文件,一般我们不用管,只要不删就行。因为这些是程序安装、运行时需要用到的配置文件。但对开发者来说,这种文件是怎么回事就必须搞清了。本文从.cfg文件的创...

瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

本文适用OpenHarmony开源鸿蒙系统,本次使用的是开源鸿蒙主板,搭载瑞芯微RK3568芯片。深圳触觉智能专注研发生产OpenHarmony开源鸿蒙硬件,包括核心板、开发板、嵌入式主板,工控整机等...

Python9:图像风格迁移-使用阿里的接口

先不多说,直接上结果图。#!/usr/bin/envpython#coding=utf-8importosfromaliyunsdkcore.clientimportAcsClient...

Python带你打造个性化的图片文字识别

我们的目标:从CSV文件读取用户的文件信息,并将文件名称修改为姓名格式的中文名称,进行规范资料整理,从而实现快速对多个文件进行重命名。最终效果:将原来无规律的文件名重命名为以姓名为名称的文件。技术点:...

取消回复欢迎 发表评论:

请填写验证码