R 语言科研绘图第 24 期 --- 直方图-高亮

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

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

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

本期绘图预览:

1. 导入包

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

复制代码
library(ggplot2)

2. 准备数据

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

复制代码
data <- sciRplot_data

3. 准备配色

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

复制代码
colors <- sciRcolor::pal_scircolor(37)[1:2]colors <- c(colors, "lightgray")

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

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

4. 绘制图形

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

复制代码
p <-   ggplot(data, aes(x=Value, y=Counts, fill=Type)) +  geom_col(color="#e9ecef", alpha=0.8, position = 'identity') +  labs(x="Value", y="Count") +  scale_y_continuous(breaks=seq(0,200,50), limits = c(0,200),                     expand = expansion(mult = c(0, 0.05))) +  scale_x_continuous(breaks=seq(-40,40,20), limits = c(-40,40)) +  theme_classic(base_size = 25) +  theme(panel.grid.major.y = element_line(),        legend.position = "top") +  scale_fill_manual(values = colors)p

5. 保存图形

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

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

sciRplot 介绍

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

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

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

相关推荐
第九序言T2 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川3 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人3 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David4 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1004 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy15 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫126 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切6 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Wang's Blog7 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友