R 语言科研绘图第 27 期 --- 密度图-分组

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

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

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

本期绘图预览:

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=HErT1yho-8sOoYf3n7UBVvx37ALiry5LgthtRsmzolM0zj0U6yxznGQRXa5WrIIXpdQ4Eps

4. 绘制图形

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

复制代码
p <-   ggplot(data, aes(x=price, group=cut, fill=cut)) +  geom_density(adjust=1.5, alpha=0.8) +  labs(x="Value", y="Density") +  guides(fill=guide_legend("Type")) +  theme_classic(base_size = 25) +  theme(panel.grid.major.y = element_line(), legend.position = "top",        legend.key.size = unit(24,"pt")) +  scale_fill_manual(values = rev(c("#5470c6","#91cc75","#fac858","#ee6666")))p

5. 保存图形

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

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

sciRplot 介绍

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

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

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

相关推荐
Diligent_lvan3 分钟前
通俗地讲述DDD的设计
java·开发语言·ddd设计
sxlzs_5 分钟前
Java 策略模式(二)-实战
java·开发语言·策略模式
郭涤生15 分钟前
Chapter 6: Concurrency in C++20_《C++20Get the details》_notes
开发语言·c++·笔记·c++20
倒霉蛋小马20 分钟前
【Java集合】ArrayList源码深度分析
java·开发语言
烁34721 分钟前
每日一题(小白)回溯篇4
java·开发语言·算法
White_Can29 分钟前
《C++探幽:STL(string类源码的简易实现(上))》
开发语言·c++
无名之逆36 分钟前
在Rust生态中探索高性能HTTP服务器:Hyperlane初体验
运维·服务器·开发语言·后端·http·rust·自动化
独好紫罗兰1 小时前
洛谷题单3-P5724 【深基4.习5】求极差 最大跨度值 最大值和最小值的差-python-流程图重构
开发语言·python·算法
朝阳同学1 小时前
C++中高精度运算问题
开发语言·c++
@蓝莓果粒茶1 小时前
LeetCode第132题_分割回文串II
开发语言·算法·leetcode·职场和发展·c#·.net·linq