R 语言科研绘图第 13 期 --- 柱状图-堆叠

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。

为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式:

R 语言科研绘图模板 --- sciRplothttps://mp.weixin.qq.com/s/QA_8LVqjkdg4A16zLonw4w?payreadticket=HPEMtkuhy8w6F2yra3tAPpJ2IT62-zggf6gukodwbjonkMuNN1llwQxktrDIYi4SMKlVDyE

本期绘图预览:

1. 导入包

我们首先导入本期绘图用到的 R 包:

复制代码
library(ggplot2)

2. 准备数据

接下来我们导入绘图用到的数据,在 sciRplot 中给大家提供了测试数据:

复制代码
data <- sciRplot_data

3. 准备配色

颜色的选择往往是一件让人特别纠结的事情,这里我们直接使用 sciRcolor 来设置配色:

复制代码
colors <- sciRcolor::pal_scircolor(37)[1:4]

sciRcolor 是为了 R 语言科研绘图开发的配色工具,包含了 100 种常用配色,详细信息见:

R 语言科研配色工具 --- sciRcolorhttps://mp.weixin.qq.com/s/XZol4VxvHnJD_49ij3f2mg?payreadticket=HPDxoGnXRhyk5clty8VTcGlhLNiJ3G_AgJJtzNE0dvVkQktJ5sfvdAFXz2O-DNIS9vmir6A

4. 绘制图形

接下来我们通过下面的代码来绘制图形:

复制代码
p <-   ggplot(data, aes(x=Date, y=Value, color=Type, fill=Type)) +  geom_bar(position = "stack", stat = "identity", width = 0.7) +  geom_text(aes(label=Value), size=6, position = position_stack(vjust = 0.5),            color="black") +  scale_y_continuous(breaks=seq(0,1000,200), limits = c(0,1000),                     expand = expansion(mult = c(0, 0.05))) +  theme_classic(base_size = 25) +  theme(panel.grid.major.y = element_line(),        legend.position = "top") +  scale_fill_manual(values = colors) +  scale_color_manual(values = colors)p

5. 保存图形

最后我们保存绘制的图形:

复制代码
ggsave("save/bar-stack.png", p, width = 8, height = 6, dpi = 300)

sciRplot 介绍

为了解决 R 语言中科研绘图的问题,我推出了 sciRplot 项目。sciRplot 项目包含了以下内容:

100 种绘图代码,按照图形类型进行分类,包含 60基础绘图40进阶绘图

② 配备一站式 html文档 ,包含测试数据 ,代码一键复制交互式阅读提高用户体验

相关推荐
djarmy5 小时前
MAIN.c(1): warning C318: can’t open file ‘STC8G.H’ 报错 解决 分析
c语言·开发语言·mongodb
HEJOO96 小时前
深入理解 Java volatile 关键字:原理、用法与常见误区
java·开发语言·spring
曹牧6 小时前
Java:no content to map due to end of input
java·开发语言
梦梦代码精6 小时前
《回收租赁系统技术选型避坑指南:业务闭环与二开自由度详解》
开发语言·低代码·docker·开源·代码规范
隔窗听雨眠6 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
David猪大卫6 小时前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
charlie1145141916 小时前
现代Qt开发之图像处理进阶:像素操作与格式转换
开发语言·图像处理·qt
李永奉6 小时前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑
秦老师Q7 小时前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
驭渊的小故事8 小时前
多线程02
java·开发语言·jvm