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语言之画图(一)相关推荐

  1. r语言 断轴 画图_R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...

  2. r语言清除变量_R语言(1)初识与数据结构

    点击上方蓝字,记得关注我们! a picture is worth a thousand words! 一,R语言简介 1,R语言的发展 上世纪90年代初,新西兰奥克兰大学 Ross Ihaka 和 ...

  3. r - 求平均成绩_R语言 从零开始的笔记(一)

    R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. R语言于生物学分析中的应用越来越广泛,在其他领域的统计绘图应用 ...

  4. R语言JAVA对比_R语言统计分析应用与SAS、SPSS的比较

    能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语言,Matlab,S-PLUS,S-Miner等.下面我们来看一下各应用的特点: SPSS: 最简单的,都是菜单操作 ...

  5. r语言 断轴 画图_R语言作图——Density plot

    原创: 黄小仙 上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot). Step1. 绘图数据的准备 首先还是要把你 ...

  6. r语言 断轴 画图_R语言作图——坐标轴截断画图

    1坐标轴截断画图 小伙伴们经常在群里或论坛中提出这样的疑问:遇到的数据不在一个数量级上,但又要在图上同时反映大数据和小数据的变化规律,需要对坐标轴进行截断,怎么破? 向大家推荐R语言plotrix包中 ...

  7. r语言 四格画图_R语言画多组数据相关性分析图

    相关性表示两组数据之间的关系是否"相似"或"相近":但当遇到多组数据时,如何直观的比较各组数据之间的相关性是一个大家比较关注的问题,相关图可以通过对相关系数矩阵 ...

  8. r语言 tunerf函数_R语言︱常用统计方法包 机器学习包(名称、简介)

    一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考 基本的R包已经实现了传统多元统计的很多功 ...

  9. r语言 图形一览_R语言之图形概览

    本文将讨论用R语言自带的基本绘图系统和ggplot2包来讨论基本图形的绘制. 一.条形图(bar chart): 我在学习这部分时会遇到这样的困惑,觉得条形图(bar chart)和直方图(histo ...

  10. r语言logistic回归_R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用...

    原文链接 :http://tecdat.cn/?p=14017​tecdat.cn 通常,我们在回归模型中一直说的一句话是" 请查看一下数据 ". 在上一篇文章中,我们没有查看数据 ...

最新文章

  1. 字节博士搞的AI火了,一键完美分离人声和伴奏 | 在线可玩
  2. linux只提取前两个目录名,Linux技巧:介绍从目录路径获取文件名和目录前缀的方法...
  3. Win10桌面右键响应非常慢怎么办?
  4. ionic - error
  5. 013,spring boot下JedisCluster客户端的配置,连接Redis集群
  6. 如何使用域组策略(AD GPO)分发软件安装以及卸载[1.31.2013更新]
  7. linux raw格式改名img,4款Linux下的RAW格式图片编辑软件
  8. mybatisplus page排序_MyBatisPlus分页的同时指定排序规则说明
  9. ORACLE 常用脚本(4)
  10. c语言函数调用求阶乘和
  11. java-word转pdf时的异常积累
  12. SAP采购计划协议(SA)中的计划行统计清单
  13. 寒江独钓windows 内核安全编程学习笔记(双机调试)
  14. python手势识别算法_Hand-gesture-recognition 这是一个用python写的手势识别的算法 - 下载 - 搜珍网...
  15. Unity3D疫情传播模拟器完整代码
  16. 希沃白板如何解决手机端播放课件内视频出现黑屏闪退
  17. OSG 绘制几何图元
  18. 为什么要进行系统拆分?
  19. C# JSON字符串序列化与反序列化(转)
  20. Scoop包管理工具

热门文章

  1. itextpdf 自定义字体
  2. PIP卸载升级与安装不成功
  3. vue 创建项目时报错yorkie: Command failed.
  4. 电子电路学习笔记(7)——LED发光二极管限流电阻计算
  5. matlab实现螺旋谱分解,MATLAB实现EMD分解及希尔伯特谱分析
  6. ddm模型公式_DDM模型绝对估值模型的理解和运用 分析师会利用DDM模型来给公司定价,如果投资者过于依赖,这样可能会给我们很好的机会,在他们犯错误时,就是我们把握机会的时... - 雪球...
  7. Java类和对象 详解(二)
  8. Linux中安装VIM命令
  9. bat批量创建文件夹
  10. 生活中不可或缺的赚钱智慧