R语言数据可视化学习之图形参数修改详解

1、图形参数的修改par()函数

我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,…)。当par()不加参数时,返回当前图形参数设置的列表;par(no.readonly=T)将生成一个可以修改当前参数设置的列表。注意以这种方式修改参数设置,除非参数再次被修改,否则一直执行此参数设置。 例如现在想画出mtcars数据集中mpg的折线图,并用虚线代替实线,并将两幅图排列在同一幅图里,代码及图形如下:

> opar<-par(no.readonly=T) #生成修改当前参数设置的列表
> par(mfrow=c(2,1)) #两幅图排成2行1列
> plot(mpg,type="b",main="实线折线图")
> par(lty=2,pch=16)  #将实线改为虚线,空心圆改为实心圆
> plot(mpg,type="b",main="虚线折线图")
> par(opar) #结束此次参数设置

   

par()函数可以修改的参数见下表:

选项 含义
pch 指定绘点时所使用的符号。具体符号的表示见《R语言实战》第2版的第3章
cex 是一个数值,默认值为1,用来指定符号的大小
lty 图形线条类型。具体符号的表示见《R语言实战》第2版的第3章
lwd 设置图形线条宽度,默认值为1
col 图形线条颜色,可以为向量形式,并且会自动循环使用。如c(“red”,”green”),需要绘制4条线,则4条线的颜色依次为red,green,red,green
col.axis 坐标轴刻度文字的颜色
col.lab 坐标轴名称的颜色
col.main 图形标题的颜色
col.sub 图形副标题的颜色
bg 图形的背景颜色
cex 指定文本大小。默认值为1
cex.axis 坐标轴刻度文字的大小
cex.lab 坐标轴标签的大小
cex.main 图形标题的大小
cex.sub 图形副标题的大小
font 指定绘图使用的字体样式,取整数。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体
font.axis 坐标轴刻度字体的样式
font.lab 坐标轴名称的字体样式
font.main 图形标题的字体样式
font.sub 图形副标题的字体样式
ps 字体磅值,文本的最终大小为ps*cex
pin 图形的宽和高,以英寸表示
mai 以数值向量表示的图形边界的大小,顺序为“下,左,上,右”,单位为英寸
mar 以数值向量表示的图形边界的大小,顺序为“下,左,上,右”,单位为英分

2、自定义标题title()和坐标轴axis()

可使用title()添加图形标题和坐标轴标签。调用格式为:title(main=”main title”,sub=”subtitle”,xlab=”',ylab=”“)。 示例代码如下:

> plot(mpg,xlim=c(0,40),ylim=c(5,40),type="b") #定义了x,y轴的范围
> title(ylab="耗油量",xlab="x",main="mpg折线图")

同样可以使用axis()来自定义坐标轴,调用格式如下:axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,…) 自定义坐标轴时,应将绘图函数里自动生成的坐标轴禁用.

选项 含义
axes=F 禁用全部坐标轴,包括坐标轴框线,除非添加了参数frame.plot=T
xaxt=”n” 去除x轴上的刻度线
yaxt=”n” 去除y轴上的刻度线

axis()函数参数的释义如下表所示:

选项 含义
side 表示在图形的哪边绘制坐标轴,取值为整数。1=下,2=左,3=右,4=上
at 数值向量,表示要绘制刻度的位置
labels 字符向量,表示刻度线旁的文字标签,若为NULL,则直接用at中的值代替
pos 绘制坐标轴的位置坐标
lty 线条类型
col 线条和刻度颜色
las 标签是否平行或者垂直于坐标轴(0=平行,2=垂直)
tck 刻度线的长度,正值表示在图形内侧,负值表示在外侧,默认值为-0.01

现在需要绘制x轴坐标在下,坐标轴线为红色 ,且刻度以5位间隔的mpg的折线图。代码及图形如下:

> attach(mtcars)
> par(mar=c(5,8,8,2)+0.1)#增加图形边界
> plot(mpg,xaxt="n",type="b",main="去除x轴刻度线")#一定要设置xaxt="n",去除x轴的刻度
> axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#绘制自己想要的坐标轴

3、参考线abline()及图例legend()

可以使用abline()函数为图形添加参考线,调用格式为abline(h=,v=,col,lty,…),颜色,线条类型参数的含义同上,这里只解释h和v的含义。

选项 含义
h 水平参考线的值
v 垂直参考线的值

如使用abline()函数为上图添加一条水平y=20,红色的参考线。代码及图形如下:

> attach(mtcars)
> par(mar=c(5,8,8,2)+0.1)#增加图形边界
> plot(mpg,xaxt="n",type="b",main="去除x轴刻度线")#一定要设置xaxt="n",去除x轴的刻度
> axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#绘制自己想要的坐标轴
> abline(h=20,col="red") #添加参考线

当图形中的数据包含多组时,我们就需要对图形添加一个图例来说明每一组数据。legend()函数可以用来添加图例,调用格式如下:legend(location,title,col,cex,lty,…)

参数 含义
location 指定图例的位置。有三种方法:1、直接给定图例左上角x,y坐标。2、使用locator(1),然后通过在图形上单击鼠标确定图例的位置。一般这种方法比较好用。3、直接使用关键字,如bottom,bottomleft,topleft,left,right,center,top,topright,right等
legend 图例标签的名称,通常为一个字符向量
title 图例的名称
col 图例中每组变量图线的颜色,通常为一个向量
cex 图例大小,默认为1
lty 图例中每组变量图线的类型,通常为一个向量

示例代码如下:

> y<-c(1:10)
> x1<-seq(1,20,2)
> x2<-seq(1,30,3)
> plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="")
> lines(x2,y,type="b",col="green",lty=2,pch=2) #添加第二组数据的图线
>legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2)) #使用鼠标单击确定图例位置的方法添加图例

4、添加文本标注text()和mtext()

有时画出图形后,想要对图中的点的标签标出,这时可以使用text()和mtext(),其中text()可以在绘图区域里添加文本标签,mtext()可以在绘图区域外添加文本标签。调用格式为:text(location,labels,pos,side,…)

参数 含义
location 指定文本的位置。可使用x,y坐标确定需要添加文本的位置,也可使用locator(n),用鼠标交互式的确定n个文本标签的位置
labels 文本标签,通常为一个向量,文本标签向量的长度必须和location中x,y的长度一致
pos 文本相对点的方位。1=下,2=左,3=上,4=右。同时可以指定offset=作为偏移量,以相对于单个媳妇宽度的比例表示
side 指定放置文本的边。1=下,2=左,3=上,4=右
line 内移或外移文本
> y<-c(1:10)
> x1<-seq(1,20,2)
> x2<-seq(1,30,3)
> plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="")
> lines(x2,y,type="b",col="green",lty=2,pch=2)
>legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2))
> text(locator(2),c("a","b"),pos=4) #添加2个文本标签

总结

到此这篇关于R语言数据可视化学习之图形参数修改的文章就介绍到这了,更多相关R语言图形参数修改内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • R语言数据可视化学习之图形参数修改详解

    1.图形参数的修改par()函数 我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,-).当par()不加参数时,返回当前图形参数设置的列表:par(no.readonly=T)将生成一个可以修改当前参数设置的列表.注意以这种方式修改参数设置,除非参数再次被修改,否则一直执行此参数设置. 例如现在想画出mtcars数据集中mpg的折线图,并用虚线代替实线,并将两幅图排列在同一幅图里,代码及图形如下: > opar

  • R语言数据可视化ggplot绘制置信区间与分组绘图技巧

    目录 1. 单组情况 1)构造数据集 2)绘制置信区间 2. 多组情况 方法1 1)构造数据集 2)绘制置信区间 方法2 1)构造数据集 2)绘制置信区间 3)美化 1. 单组情况 1)构造数据集 x <- 1:10 y <- x^2 ci_l <- x^2 - 0.5 * x ci_r <- x^2 + 0.5 * x dat_plot <- data.frame(x, y, ci_l, ci_r) 数据集长下面这样: x y ci_l ci_r 1 1 1 0.5 1.5

  • R语言数据可视化分析天猫双十一销售额增长率

    目录 最近和小伙伴一起探索了一下双十一后闹得沸沸扬扬的一篇文章:"淘宝2009-2018年历年双十一销售额数据造假".原文作者使用初中阶段学过的抛物线,就将每年的销售额增长趋势拟合得非常完美. (如果大家想学习如何画出上述的图像,可参见前面一篇博客:用 ggplot 重绘天猫双十一销售额图) 同时在知乎上,这个问题也成功上了当时的热搜榜,各路大神云集,也发表了很多很有意思的观点: 如何看待有人质疑淘宝双十一数据造假,并在4月份成功预测今年销售额为2680亿? 看了很多大神的文章后,自己

  • R语言数据可视化绘制Circular bar plot实现环形柱状图

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4.绘图 环形柱状图 排好序的环形柱状图 调整颜色 注意事项 不知不觉,距离小仙上次发文已经过去五个多月了.R语言作图系列的更新频率跟理想中的一月一次差别有点忒大了,不得不让小仙陷入深深的反思,对于时间的规划也有了一些新的感悟.不知道大家有没有跟我一样的感受啊,举些例子:放学.下班或者放假之后先把学习任务扔在一边,心想着,我先玩会游戏,等会玩够了再做:网上看到一篇干货满满的文章,先

  • R语言数据可视化包ggplot2画图之散点图的基本画法

    目录 前言 下面以一个简单的例子引入: 首先介绍第一类常用的图像类型:散点图 给原始数据加上分类标签: 按z列分类以不同的颜色在图中画出散点图: 按z列分类以不同的形状在图中画出散点图: 多面化(将ABC三类分开展示): 自定义颜色: 添加拟合曲线: 更换主题 : 总结 前言 ggplot2的功能很强大,并因为其出色的画图能力而闻名,下面来介绍一下它的基本画图功能,本期介绍散点图的基本画法. 在ggplot2里,所有图片由6个基本要素组成: 1. 数据(Data) 2. 层次(Layers),包

  • R语言数据可视化ggplot添加左右y轴绘制天猫双十一销售图

    目录 构造数据集 绘制散点 修改两坐标轴信息 本文是以天猫双十一销量与增长率为例,原始的数据可以参考上一篇文章:用 ggplot 重绘天猫双十一销售额图,这里不再作过多的介绍. 同时整个的天猫双十一的销售额数据分析可以关注:天猫双十一"数据造假"是真的吗? 老规矩,先上最终成果(两张图只是颜色的差别): 上图左边 y 轴表示增长率的刻度,右边 y 轴表示销售额的数据,我们将两者在同一张图上进行展现.其实将两个统计图在同一个坐标系中呈现不算是这个绘图的难点,其真正的难点在与刻度的变换以及

  • R语言数据可视化绘图Dot plot点图画法示例

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 添加平均值 添加误差线 今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式. Step2. 绘图数据的读取 data<-read.csv("your file path", hea

  • R语言数据可视化绘图Slope chart坡度图画法

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3. 绘图所需package的安装.调用 Step4. 绘图 今天小仙给大家分享一下Slope chart(坡度图)的画法,我在paper中看到的图是这样的 这个图的意思大概是Nasal Tissue比Brochial Tissue的ACE2表达量高(ACE2就是新冠病毒的受体啦) .为了复刻这张图,小仙捏造了一组差不多的数据,竟然感觉比原图好看! 废话不多说,进入正题. Step1. 绘图数据的准备 首先要把你想要绘图的

  • R语言常用两种并行方法之snowfall详解

    上一篇博客(R中两种常用并行方法之parallel)中已经介绍了R中常见的一种并行包:parallel,其有着简单便捷等优势,其实缺点也是非常明显,就是很不稳定.很多时候我们将大量的计算任务挂到服务器上进行运行时,更看重的是其稳定性. 这时就要介绍R中的另一个并行利器--snowfall,这也是在平时做模拟时用的最多的一种方法. 针对上篇中的简单例子 首先是一个最简单的并行的例子,这个例子不需要载入任何依赖库.函数.对象等.相对也比较简单: library(snowfall) # 载入snowf

  • R语言常用两种并行方法之parallel详解

    目录 并行计算 在模拟时什么地方可以用到并行? 怎么在R中看我们可以使用并行? parallel(简单) 由于最近在进行一些论文的模拟,所以尝试了两种并行的方法:parallel与snowfall,这两种方法各有优缺,但还是推荐snowfall,整体较为稳定,不容易因为内存不足或者并行线程过多等原因而报错. 并行计算 并行计算: 简单来讲,就是同时使用多个计算资源来解决一个计算问题,是提高计算机系统计算速度和处理能力的一种有效手段.(参考:并行计算简介) 一个问题被分解成为一系列可以并发执行的离

随机推荐