本篇包括基础作图中的文本属性、设置标题、图形尺寸、坐标轴设置。
上一篇主要是介绍了最基本的图形参数,符号,线条和颜色,先补充一下颜色部分。上一篇是从Set1中选取的颜色。
library(RColorBrewer)#调用
display.brewer.all()#展示RcolorBrewer调色板具体有哪些
1.文本属性
(1)cex 指定文本大小,默认为1,参数为数字,具体要指定那些部分的字体,采用cex.XXX的格式。
cex.axis 坐标轴刻度文字。
cex.lab 坐标轴标签
cex.main 标题
cex.sub 副标题
(2)font 指定字体族、字号字样。1 = 常规,2 = 粗体,3 = 斜体,4 = 粗斜体,5 = 符号字体(这个不是太懂什么意思)
和cex上述一样的指定方式,还有ps : 字体磅值,1磅约为1/72英寸,文本最终大小为ps*cex,具体大小我也不太敏感;family : 字体设置,个人理解是用什么字体类型,衬线我不懂什么是意思。
> names(pdfFonts())#看一下pdf输出有哪些字体可用
[1] "serif" "sans" "mono"
[4] "AvantGarde" "Bookman" "Courier"
[7] "Helvetica" "Helvetica-Narrow" "NewCenturySchoolbook"
[10] "Palatino" "Times" "URWGothic"
[13] "URWBookman" "NimbusMon" "NimbusSan"
[16] "URWHelvetica" "NimbusSanCond" "CenturySch"
[19] "URWPalladio" "NimbusRom" "URWTimes"
[22] "ArialMT" "Japan1" "Japan1HeiMin"
[25] "Japan1GothicBBB" "Japan1Ryumin" "Korea1"
[28] "Korea1deb" "CNS1" "GB1"
>
可以设置映射,相当于设置字体的简称,便于使用。示例中展示。
2.图形尺寸和边界
pin :图形宽和高;mai: 边界大小,下左上右,英寸;mar: 与mai单位不同,英分,默认值为
c(5,4,4,2)+0.1。可以借助par()。
都是以数值向量赋值。
3.添加标题、自定义坐标轴
(1)在作图函数内部设置。推荐。
dose<-c(2,4,6,8,10)
drugA<-c(5,10,15,18,20)
drugB<-c(3,7,12,18,25)
p1<-plot(dose,drugA,type = "b",col = "blue",lty = 2,pch = 16,lwd = 2,#上一节有讲这些参数的知识
main = "Trials for DrugA",col.main = "red",cex.main = 2,font.main = 2,#设置主标题相关信息
sub = "p1,This data is made up by xyf",col.sub = "pink",font.sub = 3,
xlab = "Dosage",ylab = "Drug_Response",#横纵轴标签
cex.axis =1.5,cex.lab = 1.5,#刻度及标签文字大小
xlim = c(0,12),ylim = c(0,30),#设置范围
mai = c(0.5,0.5,1,1)#图和标签标题啥的距离,需要的时候可以设置一下
)
(2)在作图函数之外设置,title();axis()。 使用之前先抹掉默认的,不然就会直接加上去。
plot(dose,drugA,type = "b",lty = 3,pch = 16,ann = F)#ann = F,抹掉原来的title
title(main = "DrugA",sub = "p1,This data is made up by xyf",
col.sub = "pink",font.sub = 3,#粉色,斜体。
xlab = "Dosage",ylab = "Drug_Response",col.lab = "blue")
上图的坐标轴是用的默认,下面尝试全部抹掉,重新设置。
plot(c(0,2,4,6,8,10),c(0,5,10,15,18,20),type = "b",lty = 3,pch = 16,ann = F,axes = F)#只有线和点
axis(side = 2,#左加刻度
at = c(seq(0,24,4)),#要加在哪些位置
labels = NULL,#这里不用另外设置,直接用at里的数即可
lty = 1,pos = c(0,0),#在哪和另一条轴相交
col = "blue",las = 2#垂直坐标轴
)
axis(side = 1,#下加刻度
at = c(seq(0,12,2)),#要加在哪些位置
labels = NULL,#这里不用另外设置,直接用at里的数即可
lty = 1,pos = c(0,0),#在哪和另一条轴相交
col = "blue",las = 0#平行于坐标轴
)
title(main = "DrugA",sub = "p1,This data is made up by xyf",
col.sub = "pink",font.sub = 3,#粉色,斜体。
xlab = "Dosage",ylab = "Drug_Response",col.lab = "blue")
不得不说累死人,费劲,还是(1)比较方便,个人认为。
(4)参考线和图例
啊先到这啦,下次再写后边的,周末歇一歇啦。
欢迎点赞鼓励、交流学习、批评指正~