基于 R 语言的科研论文绘图技巧汇总

简介: 基于 R 语言的科研论文绘图技巧汇总

简介

前段时间,对这 6 幅图进行了学习,并汇总了各图的知识点和使用技巧。在此做个总结,以便查阅(可点击图片直接跳转)。



对应代码可在 GitHub - marco-meer/scifig_plot_examples_R: Scientific publication figure plotting examples with R[1] 可以找到。


A


主要知识点

  • 学会如何导入图形,并将其并排展示;
  • 学会设置自定义主题,简化代码,统一主题,方便绘制其他图形使用;
  • 学会使用 ggplot2 包内置参数添加文字已经其他其他修饰图标。
  1. 使用 magick 包中的 image_read() 导入两幅图,并通过image_flip()进行转化;
  2. 设置自定义主题 my_theme,方便绘制其他图形使用;
  3. 使用 annotate() 添加文字("text"),使用 geom_segment() 添加线段。

B



主要知识点

  • 学会定义密度函数,并在图形中将其添加;
  • 学会设置自定义主题,简化代码,统一主题,方便绘制其他图形使用;
  • 学会添加子图、给坐标轴添加修饰图形;
  • 学会添加带有特殊符号的公式。
  1. 自定义密度函数,并使用 stat_function() 在图形中将其添加;
  2. 设置自定义主题(my_theme),简化代码,统一主题,方便绘制其他图形使用;
  3. 使用 annotation_custom() 添加子图;
  4. 使用 ggforce 包中的 geom_regon() 函数绘制修饰图形;
  5. 使用 expression() 函数添加带有特殊符号的公式。

C



主要知识点

  • 学会转化数据为图形所需的数据格式;
  • 学会绘制三变量的箱线图;
  • 学会绘制带抖动的散点图并修改透明度。
  1. 使用基础包的 data.frame()rep() 整理和转化数据;
  2. 使用 geom_boxplot() 绘制箱线图并添加第三个变量;
  3. 使用 position = position_jitterdodge() 将散点分散展示。

D


主要知识点

  • 实现双 Y 轴;
  • 学会修改坐标轴为对数尺度;
  • 添加坐标轴的微小刻度线。
  1. 使用 annotation_custom(ggplotGrob()) 图中添加其他图形;
  2. 使用 scale_x_log10()scale_y_log10() 对刻度进行对数变换;
  3. 使用 annotation_logticks(sides = "b") 添加 x 轴的 ticks;
  4. 使用  scale_y_continuous(position = "right") 改变 Y 轴位置。

E


主要知识点

  • 绘制散点图、丝带形状图;
  • 绘制横向、纵向误差图;
  • 学会小技巧:展示轴外部的图形。

  1. 使用 geom_point() 绘制散点图, geom_ribbon()绘制丝带形状图;
  2. 使用 stat_function() 添加函数曲线;
  3. 使用 geom_errorbar()geom_errorbarh 添加误差棒(纵向与横向);
  4. 使用 coord_cartesian(clip = "off") 允许展示外轴的图形。

F


主要知识点

  1. 使用 annotation_logticks() 添加对数刻度。
  2. 使用 scale_size()修改散点的大小范围;
  3. 使用 viridis 包中的配色样式 scale_fill_viridis()
  4. 使用 theme(legend.position = )修改图例位置。

参考资料

[1]

GitHub - marco-meer/scifig_plot_examples_R: Scientific publication figure plotting examples with R: https://github.com/marco-meer/scifig_plot_examples_R

目录
相关文章
|
1月前
|
机器学习/深度学习 算法 安全
m基于深度学习网络的中药识别系统matlab仿真,包含GUI界面
在MATLAB 2022a中,一个基于GoogLeNet的中药识别系统展示了其仿真效果,通过6张图像展示了识别流程。该系统利用深度学习解决传统识别方法的局限,尤其是借助CNN自动提取中药图像特征。核心程序涉及数据集加载、分割、预训练模型加载以及网络调整,如替换GoogLeNet的特征学习层和分类器层以适应中药分类任务。
15 1
|
2月前
|
编解码
MATLAB | 科研绘图第十一期动态趋势图
MATLAB | 科研绘图第十一期动态趋势图
27 0
|
2月前
|
存储 编解码
MATLAB | 科研绘图第十九期散点密度图强化版
MATLAB | 科研绘图第十九期散点密度图强化版
37 0
|
1月前
|
机器学习/深度学习 数据采集 算法
m基于深度学习网络的花朵种类识别系统matlab仿真,包含GUI界面
m基于深度学习网络的花朵种类识别系统matlab仿真,包含GUI界面
31 6
|
3月前
|
数据可视化 搜索推荐 大数据
科研绘图与学术图表绘制:从入门到精通
科研绘图与学术图表绘制:从入门到精通
45 0
|
6月前
|
自然语言处理 数据可视化 定位技术
使用ChatGPT+Python进行科研绘图
使用ChatGPT+Python进行科研绘图
296 0
|
10月前
|
数据可视化
ggstatsplot绘图|统计+可视化,学术科研神器
ggstatsplot绘图|统计+可视化,学术科研神器
|
11月前
|
数据可视化
基于 R 语言的科研论文绘图技巧详解(5)
基于 R 语言的科研论文绘图技巧详解(5)
68 0
基于 R 语言的科研论文绘图技巧详解(5)
|
11月前
|
数据可视化
基于 R 语言的科研论文绘图技巧详解(6)
基于 R 语言的科研论文绘图技巧详解(6)
80 0
|
11月前
|
算法 数据可视化
基于 R 语言的科研论文绘图技巧详解(4)
基于 R 语言的科研论文绘图技巧详解(4)
62 0