首页 > 编程语言 > R语言绘图样式设置操作(符号,线条,颜色,文本属性)
2021
03-14

R语言绘图样式设置操作(符号,线条,颜色,文本属性)

设置图像样式有两种方法,一种是全局修改,一种只针对一幅图片有效。

全局修改

a<-c(1:10)
 
#全局修改
old_par<-par(no.readonly=TRUE) #记录默认样式到变量old_par中
par(lty=2,pch=17)    #设置线型lty=2虚线,pch=17实心三角形,键值对的方式进行设置
 
#第一幅图,已经和默认样式不一样了
b<-rnorm(10)
plot(a,b,type='b')
 
#第二幅图,和第一幅图样式一样
b<-rnorm(10)
plot(a,b,type='b')
 
par(old_par)     #应用默认样式
 
#第三幅图,默认样式
b<-rnorm(10)
plot(a,b,type='b')

针对一幅图片有效

a<-c(1:10)
b<-rnorm(10)
plot(a,b,type='b',lty=2,pch=17)

如下列表为可以设置的键值对

参数 作用 描述 列表
pch 点的符号 指定绘制点时使用的符号
cex 符号的大小 指定符号的大小。cex是一个数值,表示绘图符号相对于默认 大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍, 0.5表示缩小为默认值的50%,等等
lty 线条类型
lwd 线条宽度 指定线条宽度。lwd是以默认值的相对大小来表示的(默认值为1)。 例如,lwd=2将生成一条两倍于默认宽度的线条
col 默认的绘图颜色。某些函数(如lines和pie)可以接受一个 含有颜色值的向量并自动循环使用。 例如,如果设定col=c("red", "blue")并需要绘制三条线,则 第一条线将为红色,第二条线为蓝色,第三条线又将为红色
col.axis 坐标轴刻度文字的颜色
col.lab 坐标轴标签(名称)的颜色
col.main 标题颜色
col.sub 副标题颜色
fg 图形的前景色
bg 图形的背景色
cex 表示相对于默认大小缩放倍数的数值。 默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小 为默认值的50%,等等
cex.axis 坐标轴刻度文字的缩放倍数。类似于cex
cex.lab 坐标轴标签(名称)的缩放倍数。类似于cex
cex.main 标题的缩放倍数。类似于cex
cex.sub 副标题的缩放倍数。类似于cex
font 整数。用于指定绘图使用的字体样式。1=常规,2=粗体,3=斜体, 4=粗斜体,5=符号字体(以Adobe符号编码表示)
font.axis 坐标轴刻度文字的字体样式
font.lab 坐标轴标签(名称)的字体样式
font.main 标题的字体样式
font.sub 副标题的字体样式
ps 字体磅值(1磅约为1/72英寸)。文本的最终大小为 ps*cex
family 绘制文本时使用的字体族。标准的取值为serif(衬线)、sans(无衬线)和mono(等宽)
pin 以英寸表示的图形尺寸(宽和高)
mai 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸
mar 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分*。 默认值为c(5, 4, 4, 2) + 0.1

标题title

坐标轴axis

参考线abline

图例legend

文本标注text(绘图区域内部添加文字),mtext(图形四个边界添加文字)

补充:R语言利用ggplot画图时调整坐标轴字体大小

利用ggplot画好图,并把它插入到论文中后,你会发现默认的字体大小12pt太小了,与LATEXLATEX中图的caption大小不匹配,为此,你需要在利用ggplot画图的时候一开始就要调整到你需要的大小。

我经过摸索,发现将字体调整为14pt比较合适。

R的具体代码如下所示:

library(ggplot2)
acs = read.csv("newJScs.csv",header=T)
pdf(file="fig13.pdf",family="GB1",pointsize=16)
p <- ggplot(acs,aes(x=factor(grade),y=salary)) + geom_boxplot()
p <- p + xlab("专业技术序列等级") + ylab("固定薪酬(元)") 
p + theme(axis.title.x =element_text(size=14), axis.title.y=element_text(size=14))
dev.off()

上面pdf(...)和dev.off()是为了将画出来的图形直接存到pdf矢量图形中的,使画出来的图形是一个pdf文件,你在用LATEXLATEX的时候,可以直接加入pdf格式的图形。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

编程技巧