来啦~,本篇包括基础作图中的次要刻度线、参考线、图例、文本标注。
1.次要刻度线
次要刻度线就是比主要刻度线跟精细,没有标数字的那些线,个人认为是能够更好看数据大小,需要下载Hmisc包。
使用的函数为:
minor.tick(nx = XXX,ny = XXX,tick.ratio = XXX) XXX指的是数字嗷,三个数分别代表:X轴的次刻度线把两个主刻度线之间分为几个区间,Y轴两个主刻度线被分为几个区间,次要刻度线和主要刻度线的大小之比(一般当然是小点咯),具体看下后边例子哦。
2.参考线
abline(h = yvalue ,v = xvalue) 也可以加lty、col等参数,这个蛮人性化嗷,h -- horizontal 水平的,v -- vertical 垂直的,分别对应y、x坐标。
3.图例
当不只一组数据时需要图例上场了,而且,需要比较数据的时候,把数据放到同一张图里是很有必要的。
legend (location = 可以是:左上角的xy坐标;locator(1),然后用鼠标点,?这是个什么操作?;关键字(left,top,bottom,right,topright,center等),再使用inset = 指定图例向图形内侧移动的大小,以绘图区大小的分数表示,一般都是比较小的小数咯。
title = 图例标题的字符串
legend = 标签组成的字符串向量,就是有哪几种标签,分别给起什么名。
... ... 颜色,符号,宽度,线型,填充颜色等根据具体情况设置。)
还可以设置很多,bty 盒子样式,bg背景色,cex大小,text.col 文本颜色,horiz = T,水平放置,可以help(legend),看更多信息。
激动人心的写代码时刻到了。
画的时候顺便看了一眼type到底有哪几种,懂点英语都能看懂嗷,试一试。
小插曲:Error in plot.new() : figure margins too large
如果直接使用plot函数,是要展现在画布上,如果是Rstudio,出现报错,可以把右下角那个框调大,别问我怎么知道的。。简单来说就是它放不下。
图是一层一层叠加的。
install.packages("Hmisc")#加次刻度线的包,先给装上嗷
dose<-c(2,4,6,8,10)
drugA<-c(5,10,15,18,20)
drugB<-c(3,7,12,18,25)
plot(dose,drugA,lty = 1,type = "o",#发现o效果不错哦,注意打上引号。
lwd = 1.5,pch = 16,#线形线粗,点型
col = "red",
xlab = "Dose",ylab = "Response",xlim = c(2,10),ylim = c(0,26),
main = "DrugA vs. DrugB")
lines(dose,drugB,type = "o",lty = 2,
lwd = 1.5,pch = 17,col = "blue")#直接加线嗷
abline(h =10,lwd =1.5,col = "grey",lty = 3)#随便加一条看看
library(Hmisc)
minor.tick(nx = 2,ny = 2,tick.ratio = 0.5)#添加次刻度,感觉图好看多了。
legend("topleft",inset = .05,#位置
title = "Drug Type",c("A","B"),cex = 0.8,#标题和文本,图例大小
lty = c(1,2),pch = c(16,17),col = c("red","blue"))#线点颜色,对应的嗷
R原有的是支持图层的叠加,可以直接加点(ggplot2貌似就很麻烦),加线加图例,虽然没那么智能,啥都要自己设置,结果看起来还蛮好看的。
4.文本标注
text()向内部绘图区添加文本。
mtext()向图形的四个边界添加文本。
接着上边的图形,来添加试试看。添加各种文本,添加纵坐标的值。
text(8,5,"阳光小熊熊",#坐标和文本
family = "serif",cex = 1.5,col = "pink")#字体,大小,颜色。之前都有学过嗷
mtext("啊哈哈哈哈",side = 4)#放在图的哪边,1=下,2=左,3=上,4=右
mtext("啊哈哈哈哈",side = 4, adj = 0)#左下对齐
text(dose,drugB,c(drugB[1:5]),#横纵坐标,文本有啥,比如我这里是给添加纵坐标的值
pos = 1)#相对于点,放在哪边,1=下,2=左,3=上,4=右
手动水印哈哈哈。
这期就到这啦,对你有帮助的话记得点赞收藏!
没有帮助也可以点个赞鼓励一下哈哈哈。写作不易啊,加油加油!
基本的作图学完,之后计划好好学一下ggplot2包。