R 语言科研绘图第 14 期 --- 柱状图-分组堆叠

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

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

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

本期绘图预览:

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=HH3L_MknqB1y8YTUsfvlJAtINjY7LkYrR2NbvWD6TeUIRXj4dCtbgYEScvsbziC5wxtMRtE

4. 绘制图形

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

复制代码
p <-   ggplot() +  geom_bar(data1, mapping=aes(x=group, y=Value, color=Type, fill=Type),            position = "stack", stat = "identity", width = 0.3) +  geom_bar(data2, mapping=aes(x=group+0.3+0.1, y=Value, color=Type, fill=Type),
           position = "stack", stat = "identity", width = 0.3) +
  labs(x="Date", y="Value") +  scale_y_continuous(breaks=seq(0,600,200), limits = c(0,600),                     expand = expansion(mult = c(0, 0.05))) +  theme_classic(base_size = 25) +  theme(panel.grid.major.y = element_line(),        legend.position = "top") +  scale_x_continuous(breaks = c(1.2,2.2,3.2),                     labels = c("Mon","Tue","Wed"))+  scale_fill_manual(values = colors) +  scale_color_manual(values = colors)p

5. 保存图形

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

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

sciRplot 介绍

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

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

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

相关推荐
__lost1 小时前
MATLAB画出3d的常见复杂有机分子和矿物的分子结构
开发语言·人工智能·matlab·化学·分子结构
夜夜敲码2 小时前
C语言教程(十八):C 语言共用体详解
c语言·开发语言
程序员曦曦2 小时前
17:00开始面试,17:08就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
大学生亨亨2 小时前
go语言八股文(五)
开发语言·笔记·golang
raoxiaoya2 小时前
同时安装多个版本的golang
开发语言·后端·golang
cloues break.4 小时前
C++进阶----多态
开发语言·c++
我不会编程5554 小时前
Python Cookbook-6.10 保留对被绑定方法的引用且支持垃圾回收
开发语言·python
道剑剑非道4 小时前
QT开发技术【qcustomplot 曲线与鼠标十字功能】
开发语言·qt·计算机外设
刘婉晴4 小时前
【环境配置】Mac电脑安装运行R语言教程 2025年
开发语言·macos·r语言
Despacito0o4 小时前
C++核心编程:类与对象全面解析
开发语言·c++