r语言 断轴 画图_R语言之画图(一)
R绘图函数可以分为两大类:一类是创建图形函数;另一类是对生成的图形进一步进行元素添加函数。两类函数相辅相成可以使我们形成漂亮图形
1、plot()函数
函数说明:plot(x, y, type="",main="",sub="",xlab="",ylab="",...)
其中x,y为X 轴及Y轴的数据;
type参数:
b--同时画出点和线;p--画出点
;l--画出线;
c--没有点只有线;o--同时画出点和线,线覆盖点;h--画出垂直线;
s--画出下阶梯图;S--画出上阶梯图;
n--什么都不画
main:图片标题
sub:图片副标题;
xlab:x轴标题
ylab:y轴标题
利用R语言自带的数据iris:
attach(iris)
plot(Sepal.Length, Sepal.Width,type="p",main="iris
data",sub="length~width",xlab="Sepal.Length",ylab="Sepal.Width")
利用R语言自带的数据 cars:
plot(cars$dist~cars$speed,#y~x
main="Relationship between car distance
& speed",#标题
xlab = "Speed(miles per hour)",#x轴标题
ylab = "Distance travelled
(miles)",#Y轴标题
xlim = c(0,30),#设置x轴的取值区间为0到30
ylim = c(0,140),#设置y轴的取值区间为0到140
xaxs = "i",#这里是设置x轴的风格,暂时没看明白有多大区别
yaxs = "i",
col = "red",
pch = 3)
其中pch指代点的形状,用数字表示,可查看帮助文档
点的形状
2、图形的参数:
R语言绘图是通过函数命令及相应参数设置实现的。如plot(x,y),plot为绘图函数命令,x,y则是绘图参数,指定了绘图的数据向量。但这种最基本的绘图设置很难满足个性化绘图的要求,我们需要根据需要对图形元素进行设置。图形元素是各类图形的基本构成要素,因此,不管我们绘制那种类型的图形,都离不开图形元素的设定,要想绘制出漂亮的统计图形,我们首先要熟悉绘图函数最常见的参数设置。
1)par()设置图形参数
复制一份单签的图形参数 opar = par(no.readonly=TRUE)
将默认的线性类型修改为虚线(lty=2)并且将默认的点符号改为了实心三角(pch=17)par(lty=2,pch=17)
还原了原始设置 par(opar)
或者直接通过设置参数来实现上面样式变化,但只是针对于这张图
plot(dose,drugA,type="b",lty=2,pch=17)
pch
:指定绘制点时使用的符号(1-25中类型,具体可参加POINTS函数)
cex:指定符号的大小。cex是一个数值,表示绘图符号相对于默认值大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍.
lty:指定线条类型 (0=blank, 1=solid (default),
2=dashed, 3=dotted, 4=dotdash, 5=longdash, 6=twodash)
lwd:指定线条宽度。(默认值的几倍)
2)颜色设置
col:默认的绘图颜色。如这是col=c("red","blue")并需要绘制两条线,第一条为红色,第二条为蓝色
col.axis 坐标轴颜色 col.main
标题颜色 col.sub 副标题的颜色
fg 前景色 bg
背景色
R中也用多种用于创建连续型颜色向量的函数:
rainbow() heat.colors() terrain.colors() top.colors()
cm.colors() gray()可以生成多节灰度
n=10 mycolors=rainbow(n)
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays=gray(0:n/n)
pie(rep(1,n),labels=mygrays,col=mygrays)
3)坐标轴设置
cex:表示相对默认大小缩放倍数的数值。(倍数)
cex.axis:坐标轴刻度文字的缩放倍数。 cex.lab:坐标轴标签(名称)的缩放倍数。
cex.main:标题的缩放倍数 cex.sub:副标题的缩放倍数
font:
整数类型,1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(adobe编码)
font.axis font.lab font.main font.sub ps 磅值文本最终的大小为ps*cex
标题 可以使用title()函数为图形添加标题和坐标轴标签。
坐标轴 side:一个整数,表示图形的那边会画坐标(1,2,3,4对应下、左、上、右)
at: 一个数值型向量,表示需要绘制刻度线的位置
labels:一个字符型向量,表示至于刻度线旁边的文字表全(如果是NULL,直接使用at中的值)
pos:坐标轴线位置的坐标 ; lty:线条类型
;
col:线条的刻度线颜色
las:标签是否平行于(=0)或垂直于(=2)坐标轴
tck:刻度线的长度,以向对于绘图区域大小的分数表示(负数表示在图形外侧,整数表示在图形内侧)
Hmisc包中的minor.tick()函数 用来创建次要刻度线。
tick.ratio表示次要刻度线相对于主刻度线的大小比例。当前主刻度线长度可以用par("tck")获取。
4)参考线
函数abline()可以用来为图形添加参考线。
abline(h=yvalues,v=xvalues)
abline(v=seq(1,10,2),lty=2,col="blue")
5)图例
legend(location,title,legend,..)
添加图例
location:可以直接给定xy值;location(1)通过鼠标单击给出图例的位置;关键字:bottom、bottomleft、left、topleft、topright、right、bottomright、center,同时使用参数inset=指定图形想图形内侧移动的大小(以绘图大小的分数表示)
title:图例标题的字符串(选)
legend:图例标签组成的字符型向量
文本标注
text(location,“”,pos...)
mtext(“”,side,line=n...)
其中 location:可以直接给定xy值;location(1)通过鼠标单击给出图例的位置
pose:整数,文本相对位置的方向参数。如果指定参数offset=,,作为偏移量,以相对于单个字符宽度的比例表示
side:整数,指定用来放置文本的边。
par()增大字号 plotmath()数学标注
attach(mtcars)
plot(wt,mpg,main="Mileage vs
CarWeight",xlab="Weight",ylab="Mileage",pch=18,col="blue")
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col="red")
detach(mtcars)
6)图形组合
在R中使用函数par()或layout()可以容易地组合多幅图形为一幅图形。
par()函数中使用图形参数mfrow=c(nrows,ncols)来穿件按行填充的、行数为nrows、列数为ncols的图形矩阵。另外,可以使用nfcols=c(nrows,ncols)按列填充矩阵。
把一个页面平分成n份做n个图,用par函数的mfrow和mfcol参数。这两个参数都是两个值的向量,表示行数和列数,但在页面上作图顺序的顺序不一样。如果用mfrow参数,一行一行从左到右作图;mfcol则是一列一列的做。下面图形的代码只有第一行不一样,注意看每个图内的点(数字):
attach(mtcars)
opar=par(no.readonly=TRUE)
#复制一份单签的图形参数
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)
par(opar)
#还原了原始设置
detach(mtcars)
attach(mtcars)
opar= par(no.readonly=TRUE)
par(mfrow=c(2,2))
plot(wt,mpg,main="Scatterplot of wt vs. mpg")
plot(wt,disp,main="Scatterplot of wt vs. disp")
hist(wt,main="Boxplot of wt")
boxplot(wt,main="Boxplot of wt")
par(opar)
detach(mtcars)
如果页面不均等分隔绘制多图,用layout函数分隔页面。它有四个参数,mat,widths,heights和respect。后三个参数有默认值,这里我们只设置第一个参数mat。它是一个矩阵,表示绘图区分隔的各部分,相同数字的部分合并成一个绘图区,数字也是它们作图时的顺序。
函数layout()的调用形势为layout(mat),其中的mat是一个矩阵,它指定了所要组合的多个图形所在位置。
attach(mtcars)
opar= par(no.readonly=TRUE)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
hist(wt)
hist(mpg)
hist(disp)
par(opar)
detach(mtcar)
下面代码,将一幅图形放在第一行,两幅图放在第二行,但第一行高度是第二行中图形高度的三分之一,并且,右下角图形宽度是左下角图形宽度的四分之一。
attach(mtcars)
opar= par(no.readonly=TRUE)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),widths=c(3,1),heights=c(1,2))
hist(wt)
hist(mpg)
hist(disp)
attach(mtcars)
detach(mtcars)
r语言 断轴 画图_R语言之画图(一)相关推荐
- r语言 断轴 画图_R语言基础画图/绘图/作图
R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...
- r语言清除变量_R语言(1)初识与数据结构
点击上方蓝字,记得关注我们! a picture is worth a thousand words! 一,R语言简介 1,R语言的发展 上世纪90年代初,新西兰奥克兰大学 Ross Ihaka 和 ...
- r - 求平均成绩_R语言 从零开始的笔记(一)
R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. R语言于生物学分析中的应用越来越广泛,在其他领域的统计绘图应用 ...
- R语言JAVA对比_R语言统计分析应用与SAS、SPSS的比较
能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语言,Matlab,S-PLUS,S-Miner等.下面我们来看一下各应用的特点: SPSS: 最简单的,都是菜单操作 ...
- r语言 断轴 画图_R语言作图——Density plot
原创: 黄小仙 上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot). Step1. 绘图数据的准备 首先还是要把你 ...
- r语言 断轴 画图_R语言作图——坐标轴截断画图
1坐标轴截断画图 小伙伴们经常在群里或论坛中提出这样的疑问:遇到的数据不在一个数量级上,但又要在图上同时反映大数据和小数据的变化规律,需要对坐标轴进行截断,怎么破? 向大家推荐R语言plotrix包中 ...
- r语言 四格画图_R语言画多组数据相关性分析图
相关性表示两组数据之间的关系是否"相似"或"相近":但当遇到多组数据时,如何直观的比较各组数据之间的相关性是一个大家比较关注的问题,相关图可以通过对相关系数矩阵 ...
- r语言 tunerf函数_R语言︱常用统计方法包 机器学习包(名称、简介)
一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考 基本的R包已经实现了传统多元统计的很多功 ...
- r语言 图形一览_R语言之图形概览
本文将讨论用R语言自带的基本绘图系统和ggplot2包来讨论基本图形的绘制. 一.条形图(bar chart): 我在学习这部分时会遇到这样的困惑,觉得条形图(bar chart)和直方图(histo ...
- r语言logistic回归_R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用...
原文链接 :http://tecdat.cn/?p=14017tecdat.cn 通常,我们在回归模型中一直说的一句话是" 请查看一下数据 ". 在上一篇文章中,我们没有查看数据 ...
最新文章
- 字节博士搞的AI火了,一键完美分离人声和伴奏 | 在线可玩
- linux只提取前两个目录名,Linux技巧:介绍从目录路径获取文件名和目录前缀的方法...
- Win10桌面右键响应非常慢怎么办?
- ionic - error
- 013,spring boot下JedisCluster客户端的配置,连接Redis集群
- 如何使用域组策略(AD GPO)分发软件安装以及卸载[1.31.2013更新]
- linux raw格式改名img,4款Linux下的RAW格式图片编辑软件
- mybatisplus page排序_MyBatisPlus分页的同时指定排序规则说明
- ORACLE 常用脚本(4)
- c语言函数调用求阶乘和
- java-word转pdf时的异常积累
- SAP采购计划协议(SA)中的计划行统计清单
- 寒江独钓windows 内核安全编程学习笔记(双机调试)
- python手势识别算法_Hand-gesture-recognition 这是一个用python写的手势识别的算法 - 下载 - 搜珍网...
- Unity3D疫情传播模拟器完整代码
- 希沃白板如何解决手机端播放课件内视频出现黑屏闪退
- OSG 绘制几何图元
- 为什么要进行系统拆分?
- C# JSON字符串序列化与反序列化(转)
- Scoop包管理工具
热门文章
- itextpdf 自定义字体
- PIP卸载升级与安装不成功
- vue 创建项目时报错yorkie: Command failed.
- 电子电路学习笔记(7)——LED发光二极管限流电阻计算
- matlab实现螺旋谱分解,MATLAB实现EMD分解及希尔伯特谱分析
- ddm模型公式_DDM模型绝对估值模型的理解和运用 分析师会利用DDM模型来给公司定价,如果投资者过于依赖,这样可能会给我们很好的机会,在他们犯错误时,就是我们把握机会的时... - 雪球...
- Java类和对象 详解(二)
- Linux中安装VIM命令
- bat批量创建文件夹
- 生活中不可或缺的赚钱智慧