R 基础绘图体系-基础篇
1.高水平绘图函数
生成数据
#模拟100位同学学号及三科成绩
num = seq(12340001,12340100) # 形成学号
x1 = round(runif(100,min = 80,max = 100)) #随机产生max100和min80的100位同学科目1成绩
x2 = round(rnorm(100,mean = 80,sd = 5)) #随机产生mean80和sd5的100位同学科目1成绩
x3 = round(rnorm(100,mean = 85,sd = 17)) #随机产生mean85,sd17的100位同学科目1成绩
x3[which (x3 > 100)] = 100 #数值替换
x = data.frame(num,x1,x2,x3) #原始数据
直方图
hist(x$x3) #科目3各个成绩的人数分布

散点图
plot(x1,x3) #科目1与科目3的散点图(两科关系)

配对散点图
pairs(x[2:4],col = "blue")

有因子影响的配对散点图
coplot(x1~x2|x3,col = 1:12,pch = 17) #以x3作为分类因子

柱状图
table(x$x3) #获取列联表,统计各成绩的人数
barplot(table(x$x3)) #绘制科目3分布情况

柱状图与直方图反馈信息基本一致,但直方图横坐标通常分段统计频数,柱状图横坐标为单个样本频数,故,直方图可用于横坐标为数值类型(numeric)的数据,柱状图用于横坐标为字符串类型(character)的数据。
饼图
pie(table(x$x3)) #绘制科目三成绩占比

箱线图
boxplot(x$x1,x$x2,x$x3,col = 2:4,notch = T)
绘制三科成绩的分散分布(均值,25%分位数,50%分位数,75%分位数,最大值,最小值)。孤立值常为错误值。

# 横向绘制,加参数 horizontal = T

雷达图
stars(x[2:4],col.stars = rep(c(1:10),10),labels = x$num,full = T,cex = 0.3) #绘制学生成绩的优势,是否偏科

# 变为扇形,加参数 draw.segments =T

qq图
qqnorm(x$x1)
qqline(x$x1) #判断学生成绩是否为正态分布,可见 科目2符合正态分布


等高线图
y = -19:22
contour(outer(x, x), method = "edge") #简单的等高线图

z = outer(y,y)
image(y,y,z)
contour(y,y,z,method = "edge",add = T,col = "blue3",lwd = 2) # 将等高线加到渐变图上

3D 等高线图
persp(y,y,z,theta = 0,phi = 15,col = "green3",border = NA,shade = 0.6,nticks = T)

theta和phi控制数据角度,当前为缺省值。border=NULL可以显示界面网格。shade加入阴影,col添加颜色。par(mfrow = c(2,2))设置图像呈2行2列排布。
par(mfrow=c(2,2))
persp(y,y,z,theta = 0,phi = 15,col = "gold3",border = NA,,shade = 0.6,nticks = T)
persp(y,y,z,theta = 0,phi = 15,col = "red3",border = NA,,shade = 0.6,nticks = T)
persp(y,y,z,theta = 0,phi = 15,col = "blue3",border = NA,,shade = 0.6,nticks = T)
persp(y,y,z,theta = 0,phi = 15,col = "purple3",border = NA,,shade = 0.6,nticks = T)

表状点图
data(VADeaths) # 佛尼吉亚州1940年的人口死亡率
dotchart(t(VADeaths),lcolor = 2:6,pt.cex = 1.1,cex = 0.5,bg = 3,pch = 16) #城乡间各年龄段的死亡率
dotchart(t(VADeaths),lcolor = 2:5,pt.cex = 1.1,cex = 0.5,bg = 3,pch = 16) #不同年龄段在城乡间的死亡率


高水平作图函数的参数命令
1)逻辑命令
add = T or F, 即是否直接在已有图形上增加新的图层
axes = T or F,即是否显示坐标轴
2)数据取对数
log = "x", "y" or "xy", 表示分别对x轴,y轴或xy轴取对数
3)type 命令
type = "p" #绘制散点图
type = "l" #绘制线图
type = "b" #用实线连接所有点
type = "o" #实线通过所有的点
type = "h" #绘制点到x轴的竖线,棒棒糖图可用
type = "s" or "S" #绘制阶梯型曲线
type = "n" #不绘制任何点或曲线
plot(x$x1,type = "p",col = 4,main = "type = \"p\"")
plot(x$x1,type = "l",col = 4,main = "type = \"l\"")
plot(x$x1,type = "b",col = 4,main = "type = \"b\"")
plot(x$x1,type = "o",col = 4,main = "type = \"o\"")
plot(x$x1,type = "h",col = 4,main = "type = \"h\"")
plot(x$x1,type = "s",col = 4,main = "type = \"s\"")
plot(x$x1,type = "S",col = 4,main = "type = \"S\"")
plot(x$x1,type = "n",col = 4,main = "type = \"n\"")

4)图中字符串
xlab or ylab = 字符串 #x轴或y轴说明
main = 字符串 #图说明,或为图主标题
sub = 字符串 #子图说明,子图标题
2.低水平作图函数
有时高水平作图不能完全显示所有信息,需要低水平作图予以辅助,即在高水平作图函数的基础上作图,增加新图形。
加点或线
plot(x$x1)
lines(x$x2,col = 2)
lines(x$x3,col = 4)

plot(x$x1)
points(x$x2,col = 2)
points(x$x3,col = 4)

加样本标记
plot(x$x1)
text(x$x1,col = 4,pos = 1) #pos 位置1,2,3,4分别对应底,左,顶,右

加直线或多边形
data("Iris")
plot(iris$Sepal.Length,iris$Petal.Length,col = 4,main = "iris",xlab = "Sepal Length",ylab = "Petal Length")
abline(h = 2.5) #绘制 y = 2.5
abline(v = 5.5) #绘制 x = 5.5
abline(-6.0,1.7, col = "green") #绘制 y = -6.0 + 1.7x
lm.obj = lm(iris$Petal.Length ~ iris$Sepal.Length, data = iris) #构建线性回归模型
abline(lm.obj,col = "red") #绘制线性回归曲线
text(6.5,6,"y = -7.101 + 1.858x",col = "red",cex = 1) #添加回归拟合方程式
polygon(c(6,8,8,6),c(2,2,0.9,0.9),border = T,col = "gold") #在空白区域产生一个性状。
形成形状坐标的产生为前后两个数组各取一个形成,前一数组取值对应x轴,后一数组对应y轴。如,当前为(6,2),(8,2),(8,0.9),(6,0.9)

R 基础绘图体系-基础篇的更多相关文章
- R基础绘图
本节内容 0:小知识 1:绘图系统散点图的特征 2:基础绘图函数 3:基础绘图参数 4:图形设备 5:案例操作5个图形 0:小知识 summary() ## 对数据框或者向量进行描述性数据 read. ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- 十倍效能提升——Web 基础研发体系的建立
1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算.云存储等方式将底层核 ...
- Houdini技术体系 基础管线(四) :Houdini驱动的UE4植被系统 上篇
背景 之前在<Houdini技术体系 过程化地形系统(一):Far Cry5的植被系统分析>一文中已经对AAA游戏中过程化植被的需求有了一定的定义,后续工作就是如何用Houdini开发功能 ...
- 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...
- SVG基础绘图实例
SVG可缩放矢量图(Scalable Vector Graphics),是使用 XML 来描述二维图形和绘图程序的语言,图像在放大或改变尺寸的情况下其图形质量不会有所损失,是万维网联盟的标准. 下面整 ...
- 基础命令使用[win篇]
基础命令使用 [ win篇 ] 2017-11-05 WIN CMD 0x01 基础命令使用: 演示环境: 1 2 win2008R2cn ip: 192.168.3.23 假设为入侵者机器 ...
- QCustomPlot开发笔记(一):QCustomPlot简介、下载以及基础绘图
前言 QCustomPlot开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,过目 ...
- Java基础加强之多线程篇(线程创建与终止、互斥、通信、本地变量)
线程创建与终止 线程创建 Thread类与Runnable接口的关系 public interface Runnable { public abstract void run(); } public ...
随机推荐
- Docker入门(1):概述
1.摘要 在这篇文章中,我将介绍一下为什么需要虚拟化的环境. 然后我将介绍耳熟能详的虚拟化技术:虚拟机,并大致的介绍一下虚拟机的原理,希望能够让你知道虚拟机的优劣. 在之后,针对虚拟机存在的问题,引出 ...
- vue基础入门(2.1)
2.vue基础用法 2.1.事件处理 2.1.1.监听事件 使用v-on:事件名称 = '事件处理函数'的形式来监听事件,事件处理函数要写在methods后面的对象中 <!DOCTYPE htm ...
- 音视频前沿:新一代 AV1 视频标准究竟是怎样一种存在?
AV1是开放媒体联盟Alliance for Open Media (AOM) 开发的第一代视频编码标准,自推出以来获得了产业界巨大关注和支持.腾讯多媒体实验室也加入进来和其他公司团队一同积极推动AV ...
- 08 . Prometheus+Grafana监控haproxy+rabbitmq
List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz haproxy_exporter-0.11.0.linux-amd64.tar.gz 节点名 IP ...
- 模拟elementUI或使用自定义属性简单封装对话框
前言 现在前端框架有许多的UI框架可以选择,但是样式或者功能不一定是我们项目中想要的,因此很多时候需要自己封装.此篇文件简单介绍一下利用自定义标签或者自定义扩展属性来封装UI组件,方便项目的其他地方复 ...
- 关于数据文件的文件头2-P2
文章目录 1 疑问点 2 实验验证 2.1 实验环境 2.2 创建统一区大小管理表空间 2.2.1 统一区大小40k 2.2.2 统一区大小56k 2.2.3 统一区大小64k 2.2.4 统一区大小 ...
- PHPstorm快捷键的学习
1.Ctrl + 空格 当输入代码时,PHPstorm 会自动出现联想选项. 但是,如果在输入时联想时错过了选择,我们要想让他再一次出现联想,通常采用的方法是在先前的输入后面再输入字符,这时联想又会出 ...
- Cache写策略(Cache一致性问题与骚操作)
写命中 写直达(Write Through) 信息会被同时写到cache的块和主存中.这样做虽然比较慢,但缺少代价小,不需要把整个块都写回主存.也不会发生一致性问题. 对于写直达,多出来%10向主存写 ...
- git bash中提示 bash:node: command not found
昨天小伙伴私信,git bash以及windows 的cmd命令行下均无法运行node npm. 究其原因是环境变量的问题.解决步骤: 1>在"此电脑"中右击,选择" ...
- 微服务框架Demo.MicroServer运行手册
一.背景说明: 之前分享过一个微服务开发框架, "享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionle ...