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文档 ,包含测试数据 ,代码一键复制交互式阅读提高用户体验

相关推荐
QQ24221997911 分钟前
基于python+微信小程序的家教管理系统_mh3j9
开发语言·python·微信小程序
沐知全栈开发38 分钟前
JavaScript 条件语句
开发语言
RSTJ_162540 分钟前
PYTHON+AI LLM DAY THREETY-SEVEN
开发语言·人工智能·python
清水白石0081 小时前
《Python性能深潜:从对象分配开销到“小对象风暴”的破解之道(含实战与最佳实践)》
开发语言·python
Je1lyfish1 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
Brilliantwxx1 小时前
【C++】 vector(代码实现+坑点讲解)
开发语言·c++·笔记·算法
野生技术架构师1 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试
百锦再2 小时前
Auto.js变成基础知识学习
开发语言·javascript·学习·sqlite·kotlin·android studio·数据库开发
叼烟扛炮2 小时前
C++第三讲:类和对象(中)
开发语言·c++·类和对象
iDao技术魔方3 小时前
DeepSeek TUI:原生 Rust 打造的终端 AI 编码 Agent
开发语言·人工智能·rust