专栏首页R语言交流中心R语言中绘图的注释函数小结

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

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

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

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

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

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主要指的相对于坐标轴线的位置,负数线内,正数线外。

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设置标签的字体颜色。

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的编号。

points(c(6,2), c(2,1), pch = 3, cex = 4, col ="red

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

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

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的绘图包,这个包我们就不详细介绍了,教程网上一搜一大把。那么我们来看下如何实现子图的嵌入。

数据的准备:
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)
 
图形的绘制:
            
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可以轻松搞定这些注释,但是当你有几十甚至几百张图的时候是否还能淡定。

欢迎互相学习交流!

本文分享自微信公众号 - R语言交流中心(R_statistics)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手把手教你比较两个模型的预测能力

    各位科研芝士的朋友,大家好。最近学习到用NRI进行模型比较,起初当听到NRI这个词的时候,我的表情可能是这样的。

    百味科研芝士
  • R(二)近期记录

    这个功能很简单也很常用,但是不加注意还是容易写错,比如只对每一行的前两个元素求和:

    一只羊
  • 我的5年Python7年R,述说她们的差异在哪里?

    首次接触R语言是在2012年读研的时候,有一门课程是统计分析与R语言,清晰地记得期末考试时,由于把答案给同学抄,最终落了个重考的后果(重考92分)。那个时候真的...

    1480
  • 学习Julia与弯道超车

    看一下Julia官网上的Benchmark,Julia综合速度,是R语言的42倍,是Python的15倍,是Java的3倍,是Fortran的1倍,和C语言速度...

    邓飞
  • C++ OpenCV之鼠标响应事件

    在OpenCV中也存在鼠标的操作,今天我们先介绍一下鼠标中的操作事件,用于为之后的GrabCut分割来做个前提。

    Vaccae
  • 什么是 XLNet ? 为什么它的性能优于 BERT?

    XLNet:NLP领域中一个新的预训练方法,相比BERT可以显著提高20个任务的准确率。

    AI研习社
  • 使用bowtie2和samblaster一步到位的干净比对

    运行速度很慢,现在有高效工具啦,比如sambamba主要有filter,merge,slice和duplicate等七个功能来处理sam/bam文件,几乎可以替...

    生信技能树
  • SQL注入语法

    字段数为8,我为了好辨识用的数字,我建议用null,来代表数字进行测试,因为数字的兼容性不高,容易出现异常

    天钧
  • R语言作图(一)violin plot

    即便小仙同学决定学习R语言来提升自己作图的“逼格”的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?)。仔细想了想,貌似又找到了两个学习的理由。

    一只羊
  • R语言 常见函数知识点梳理与解析 | 精选分析

    R语言 控制流:for、while、ifelse和自定义函数function|第5讲

    1480

扫码关注云+社区

领取腾讯云代金券