【R语言作图初级3】

来啦~,本篇包括基础作图中的次要刻度线、参考线、图例、文本标注。

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包。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值