前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这配色方案让人费解啊

这配色方案让人费解啊

作者头像
生信技能树
发布2024-07-05 14:51:05
820
发布2024-07-05 14:51:05
举报
文章被收录于专栏:生信技能树生信技能树

学员在微信交流群分享了一个2024年5月的单细胞数据挖掘文章,标题是:《Single-cell combined with transcriptome sequencing to explore the molecular mechanism of cell communication in idiopathic pulmonary fibrosis》,研究者们重新分析了 GSE122960 这个单细胞转录组数据集.

第一层次降维聚类分群后简单的统计了一下每个单细胞亚群的数量,绘制条形图如下所示:

就很迷惑,8个单细胞亚群为什么就使用了4个颜色呢?

R语言配色大全

我比较喜欢下面的4个r包,简单快捷:

  1. RColorBrewer
    • 由Cynthia A. Brewer开发的RColorBrewer包提供了一套精心挑选的颜色方案,特别适合制作地图和数据可视化。
    • 它允许用户根据色盲友好性、颜色数量和颜色类型(如序列、发散和定性)选择颜色方案。
  2. ggsci
    • ggsci(ggplot2 scientific)包允许用户在ggplot2的绘图中使用科学期刊的颜色方案,如《Nature》、《Science》等。
    • 它提供了一个简单的接口来访问这些颜色方案,使得科研论文和报告的图表颜色更加专业和一致。
  3. randomcoloR
    • randomcoloR包提供了一个函数,用于生成随机颜色方案,这对于需要快速创建颜色方案的用户来说非常有用。
    • 它可以生成单色或多色方案,支持用户自定义颜色的数量和亮度。
  4. paletteer
    • paletteer是一个统一的接口,用于访问多个颜色方案包,包括RColorBrewer、ggsci等。
    • https://emilhvitfeldt.github.io/paletteer/
    • 它提供了一个简单的方式来搜索和选择颜色方案,支持多种参数来定制颜色方案,如颜色的明暗、饱和度等。使用这些R包,你可以轻松地为你的数据可视化添加专业和吸引人的颜色方案。例如,使用RColorBrewer包时,你可以这样选择颜色方案:
代码语言:javascript
复制
library(RColorBrewer)
myPalette <- brewer.pal(name = "BuPu", n = 7) # 选择名为"BuPu"的颜色方案,获取7种颜色

使用ggsci包时,可以这样使用期刊的颜色方案:

代码语言:javascript
复制
library(ggsci)
ggplot(data, aes(x = x, y = y, color = group)) +
  geom_point() +
  scale_color_nejm() # 使用《新英格兰医学杂志》的颜色方案

randomcoloR和paletteer的使用方式类似,都提供了直观的函数来生成和应用颜色方案。randomcoloR 包可以生成随机的颜色方案,非常适合当你需要快速创建一个颜色方案时使用。

代码语言:javascript
复制
# 安装randomcoloR包
install.packages("randomcoloR")
# 加载randomcoloR包
library(randomcoloR) 
# 生成一组随机颜色
random_colors <- randomColor(5) # 生成5种随机颜色
# 打印这些颜色
print(random_colors)

randomColor 函数还可以接受参数来控制颜色的亮度和饱和度:

代码语言:javascript
复制
random_colors_light <- randomColor(5, luminosity = "light") # 生成亮度较高的颜色
random_colors_dark <- randomColor(5, luminosity = "dark")   # 生成亮度较低的颜色

paletteer 包提供了一个统一的接口来访问多个颜色方案,包括 RColorBrewerggsci 等。详见:https://pmassicotte.github.io/paletteer_gallery/ 当然可以。以下是使用R语言和ggplot2包绘制一个简单的条形图的示例代码,并测试上面提到的四个R包(RColorBrewerggscirandomcoloRpaletteer)的配色功能。

模拟数据进行条形图可视化并且配色

首先,我们需要安装和加载必要的包:

代码语言:javascript
复制
install.packages(c("ggplot2", "RColorBrewer", "ggsci", "randomcoloR", "paletteer"))
library(ggplot2)
library(RColorBrewer)
library(ggsci)
library(randomcoloR)
library(paletteer)

然后,我们模拟一些数据来绘制条形图:

代码语言:javascript
复制
# 模拟数据
df <- data.frame(
  Category = rep(c("A", "B", "C", "D"), each = 2),
  Value = c(23, 45, 32, 50, 18, 27, 42, 55)
)

接下来,我们将使用不同的颜色方案来绘制条形图。

使用 RColorBrewer 的颜色方案:

代码语言:javascript
复制
# 选择颜色方案
brewer_colors <- brewer.pal(name = "Set1", n = 4)
# 绘制条形图
ggplot(df, aes(x = Category, y = Value, fill = Category)) +
  geom_bar(stat = "identity", color = "white") +
  scale_fill_manual(values = brewer_colors) +
  theme_minimal() +
  labs(title = "Simple Bar Plot with RColorBrewer Colors",
       x = "Category",
       y = "Value")

使用 ggsci 的颜色方案:

代码语言:javascript
复制
# 选择颜色方案 
ggsci_colors <- ggsci::pal_npg("nrc")(4)
# 绘制条形图
ggplot(df, aes(x = Category, y = Value, fill = Category)) +
  geom_bar(stat = "identity", color = "white") +
  scale_fill_manual(values = ggsci_colors) +
  theme_minimal() +
  labs(title = "Simple Bar Plot with ggsci Colors")

使用 randomcoloR 的颜色方案:

代码语言:javascript
复制
# 生成随机颜色方案
random_colors <- randomColor(4)
# 绘制条形图
ggplot(df, aes(x = Category, y = Value, fill = Category)) +
  geom_bar(stat = "identity", color = "white") +
  scale_fill_manual(values = random_colors) +
  theme_minimal() +
  labs(title = "Simple Bar Plot with Random Colors")

使用 paletteer 的颜色方案:

代码语言:javascript
复制
# 选择颜色方案
paletteer_colors <- paletteer::paletteer_d("rcartocolor::Geyser")
# 绘制条形图
ggplot(df, aes(x = Category, y = Value, fill = Category)) +
  geom_bar(stat = "identity", color = "white") +
  scale_fill_manual(values = paletteer_colors) +
  theme_minimal() +
  labs(title = "Simple Bar Plot with paletteer Colors")

运行上述代码后,你将得到四个不同的条形图,每个都使用了不同的颜色方案。这些示例展示了如何轻松地在ggplot2中应用不同的颜色方案来增强数据可视化的视觉效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R语言配色大全
  • 模拟数据进行条形图可视化并且配色
  • 使用 RColorBrewer 的颜色方案:
  • 使用 ggsci 的颜色方案:
  • 使用 randomcoloR 的颜色方案:
  • 使用 paletteer 的颜色方案:
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档