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格式的图形。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
赞 (0)