前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言中绘图的注释函数小结

R语言中绘图的注释函数小结

作者头像
一粒沙
发布2019-07-31 14:35:49
6.1K0
发布2019-07-31 14:35:49
举报
文章被收录于专栏:R语言交流中心R语言交流中心

我们知道一个漂亮而清晰的图像的形成指定缺不了图像中细节的注释。那么今天我们就来总结下在R语言中那些注释函数。

首先,我们看下文本注释函数:text(),mtext(), legend()。这些函数都是R语言内置的基础函数,我们看下具体的实例:

1. text() 注释绘图中的任意点。

其中主要的参数是labels,不仅可以支持文本的添加,还支持expression格式的公式文本化展示。x,y代表了点的位置。

代码语言:javascript
复制
plot(-1:1, -1:1, type = "n", xlab ="Re", ylab = "Im")
plot(1:10, 1:10)
text(4, 9, expression(hat(beta) == (X^t * X)^{-1} * X^t *y))

2. mtext() 属于子标题,注释坐标轴。

其中主要的参数是side分别对应的值1(下),2(左),3(上),4(右),代表坐标轴位置。Line主要指的相对于坐标轴线的位置,负数线内,正数线外。

代码语言:javascript
复制
mtext("«Latin-1 accented chars»: éè øØ å<Åæ<Æ", side = 3)
mtext("«Latin-1 accented chars»: éè øØ å<Åæ<Æ", side = 2)

3. legend() 主要是注释图形的分组信息。

其中主要的参数:

Legend指的标签文本

bty主要是色块的类型,圆形(o),长方形(n)对应的颜色填充为fill。

Lty主要是线类型设置,对应的颜色控制室col。

bg指的整体legend的背景颜色。

Text.col设置标签的字体颜色。

代码语言:javascript
复制
legend(2, 8, c("sin","cos", "tan"), col = c(3, 4, 6),text.col ="green4", lty = c(2, -1, 1), pch = c(NA, 3, 4),merge = TRUE, bg ="gray90")

接下来我们看下图像的注释包括点,线,图:

1. points() 在绘图中添加点。

主要参数是点的类型,参照plot中2的编号。

代码语言:javascript
复制
points(c(6,2), c(2,1), pch = 3, cex = 4, col ="red

2. lines()在绘图中增加对应的曲线。

其中主要的参数是线类型的确认。所有类型参考plot。

代码语言:javascript
复制
x=c(1:10)
y=10-x
lines(x,y,lty=1)

3. abline()在绘图中添加相应的参考线

主要的参数h(与x轴平行直线),v(与y轴平行直线)。

abline(h=2)

abline(v=2)

4. grid 内置的包,在绘图中添加相应的子图。这个包展现其图形的嵌入功能需要引入ggplot的绘图包,这个包我们就不详细介绍了,教程网上一搜一大把。那么我们来看下如何实现子图的嵌入。

代码语言:javascript
复制
数据的准备:
library(ggplot2)
dt =data.frame(A = c(2, 7, 4, 10, 1), B = c('B','A','C','D','E'))
p1 =ggplot(dt, aes(x = "", y = A, fill = B)) +
  geom_bar(stat = "identity") +
  coord_polar(theta = "y")   ## 把柱状图折叠成饼图(极坐标)
set.seed("123")
month <-c(1,2,3,4,1,2,3,4)
count <-runif(8)
species <-c('A','A','A','A','B','B','B','B')
mydata <-data.frame(month,count,species )
p2 <-ggplot(mydata,aes(x=month,y=count,colour=species,group=species,fill=species)) +geom_line(size=0.8)
 
代码语言:javascript
复制
图形的绘制:
            
library(grid)
vp <- viewport(width = 0.3, height =0.4, x = 0.65,y = 0.5,just=c("left","top"))
    #width\height表示插入图形的大小,x\y表示插入图形相对于图片底层just的位置
print(p2)
print(p1,vp=vp)

上面只是初步的注释效果,当然那些高大上的图离不了这些注释。当然不可否认,一个AI/PS可以轻松搞定这些注释,但是当你有几十甚至几百张图的时候是否还能淡定。

欢迎互相学习交流!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档