R语言 | paletteer包:拥有2100多个调色板!

看到 PMID:39024031 文章的代码中,有颜色设置的语句:

pal <- paletteer_d("ggsci::category20_d3")[c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)]DimPlot(MM,reduction = 'umap',group.by = "sample",label = F,pt.size = 0.1,cols = pal)+ labs(title = 'Samples',size= 60)+  theme_bw(base_size = 14) +theme(panel.grid = element_blank(),axis.ticks = element_blank(),aspect.ratio = 1,strip.background = element_rect(colour = NA,fill = NA),axis.text = element_blank(),plot.title = element_text(hjust = 0.5))DimPlot(MM,reduction = 'umap',group.by = "sample",split.by = "sample",label = F,pt.size = 0.1,cols = pal,ncol = 5)& labs(title = 'Samples',size= 60)&  theme_bw(base_size = 14) &theme(panel.grid = element_blank(),axis.ticks = element_blank(),aspect.ratio = 1,strip.background = element_rect(colour = NA,fill = NA),axis.text = element_blank(),plot.title = element_text(hjust = 0.5))
pal <- paletteer_d("ggsci::nrc_npg")[c(1,2,3,4,5,6,7,8,9,10)]
pal <- paletteer_d("ggsci::category20c_d3")[c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)]
pal <- paletteer_d("ggsci::default_igv")[c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51)]
pal <- paletteer_d("ggsci::category20c_d3")[c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)]
为什么不写成 1:20的形式呢?

搜索发现,这是paletteer包的函数。

据R包作者介绍,这个包收集了52个R包的2100种调色板,R用户可以通过paletteer包来直接调用其他R包的调色板。

  • https://r-charts.com/color-palettes/ 查看这些调色板。

快速查看 颜色效果:
scales::show_col( paletteer_d("ggsci::nrc_npg")[1:8] )
# #E64B35FF #4DBBD5FF #00A087FF #3C5488FF #F39B7FFF #8491B4FF #91D1C2FF #DC0000FF
在这里插入图片描述


scales::show_col( paletteer_d("ggsci::default_igv")[1:51] )
# #5050FFFF #CE3D32FF #749B58FF #F0E685FF #466983FF #BA6338FF #5DB1DDFF #802268FF #6BD76BFF #D595A7FF #924822FF #837B8DFF #C75127FF #D58F5CFF #7A65A5FF #E4AF69FF #3B1B53FF #CDDEB7FF #612A79FF #AE1F63FF #E7C76FFF #5A655EFF #CC9900FF #99CC00FF #A9A9A9FF #CC9900FF #99CC00FF #33CC00FF #00CC33FF #00CC99FF #0099CCFF #0A47FFFF #4775FFFF #FFC20AFF #FFD147FF #990033FF #991A00FF #996600FF #809900FF #339900FF #00991AFF #009966FF #008099FF #003399FF #1A0099FF #660099FF #990080FF #D60047FF #FF1463FF #00D68FFF #14FFB1FF
在这里插入图片描述

1. 安装

install.packages("paletteer")
library(paletteer)  

2. 直接获取颜色

paletteer包也将各种配色方案分成3类:CONTINUOUS、DISCRETE与DYNAMIC

(1) 连续型颜色(300多个)

> palettes_c_names|>dim()
[1] 319   3
> palettes_c_names|> head(n=2)
# A tibble: 2 × 3package  palette               type      <chr>    <chr>                 <chr>     
1 ggthemes Blue-Green Sequential sequential
2 ggthemes Blue Light            sequential

调用函数:paletteer_c(),在括号里加入包的名称与颜色集即可,注意需要设置过渡颜色数量 n

paletteer_c("ggthemes::Blue-Green Sequential", 30)
# 需要安装ggthemes包

在这里插入图片描述

(2) 离散型颜色(2k多个)

> palettes_d_names |> dim()
[1] 2415    5
> palettes_d_names |> head(n=3)
# A tibble: 3 × 5package palette   length type        novelty<chr>   <chr>      <int> <chr>       <lgl>  
1 awtools a_palette      8 sequential  TRUE   
2 awtools ppalette       8 qualitative TRUE   
3 awtools bpalette      16 qualitative TRUE   

调用函数:paletteer_d(),在括号里加入包的名称与颜色集即可。不添加颜色数量 n 默认输出组内全部颜色编码。

例1:

barplot( rep(1, 8), col=paletteer_d("awtools::ppalette")[1:8], border=NA, space=0.2, axes=F)

在这里插入图片描述


例2:

> palettes_d_names[grep("sci",palettes_d_names$package), ]
# A tibble: 49 × 5package palette           length type        novelty<chr>   <chr>              <int> <chr>       <lgl>  1 ggsci   nrc_npg               10 qualitative TRUE   2 ggsci   default_aaas          10 qualitative TRUE   3 ggsci   default_nejm           8 qualitative TRUE   4 ggsci   lanonc_lancet          9 qualitative TRUE   5 ggsci   default_jama           7 qualitative TRUE > paletteer_d("ggsci::nrc_npg")

在这里插入图片描述

(3) 动态颜色集(25个)

> palettes_dynamic_names |> dim()
[1] 25  4
> palettes_dynamic_names |> head(n=3)package    palette length       type
1 cartography   blue.pal     20 sequential
2 cartography orange.pal     20 sequential
3 cartography    red.pal     20 sequential

调用函数:paletteer_dynamic(),除了在括号里加入包的名称与颜色集,也必须设置输出颜色数量 n,否则报错

paletteer_dynamic("cartography::blue.pal", 20)

在这里插入图片描述

3. 在ggplot2中使用 scale_ 系列函数

与ggsci包类似,paletteer包不仅可以使用paletteer_c(),paletteer_d(),paletteer_dynamic()函数提取具体颜色编码;也可以使用比例尺(scales)函数直接取代ggplot2原有scales函数。

#scale_color_paletteer_d()
#scale_fill_paletteer_d()#scale_color_paletteer_c()
#scale_fill_paletteer_c()

示例:

p1=ggplot(data = iris, aes(x = Species,y = Sepal.Length)) +geom_violin(aes(fill = Species),alpha = 0.75, color="white") +theme_classic()+scale_fill_paletteer_d("ggsci::nrc_npg") +#scale_fill_manual(values = as.character(paletteer_d("ggsci::nrc_npg")[1:8])) + ggtitle("scale_fill_paletteer_d('ggsci::nrc_npg')")p2=ggplot(data = iris, aes(x = Species,y = Sepal.Length)) +geom_violin(aes(fill = Species),alpha = 0.75, color="white") +theme_classic()+#scale_fill_paletteer_d("ggsci::nrc_npg") +scale_fill_manual(values = as.character(paletteer_d("ggsci::nrc_npg")[1:8])) + ggtitle('as.character(paletteer_d("ggsci::nrc_npg")[1:8])')
p1 + p2

在这里插入图片描述

例2:

ggplot(data = iris, aes(x = Species,y = Sepal.Length)) +geom_violin(aes(fill = Species),alpha = 0.75, color="white") +theme_classic()+scale_fill_manual(values = as.character(paletteer_d("awtools::ppalette")[1:8]))

在这里插入图片描述

Ref

  • https://cloud.tencent.com/developer/article/1839444
  • https://zhuanlan.zhihu.com/p/705236221

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458462.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始机器学习——基于PyTorch构建你的第一个线性回归模型

随着人工智能技术的迅猛发展&#xff0c;机器学习成为了现代科技领域中最炙手可热的话题之一。然而&#xff0c;对于初学者来说&#xff0c;机器学习似乎总是充满了复杂的理论和难以理解的概念。本文将带你从零开始&#xff0c;使用PyTorch深度学习框架&#xff0c;构建一个最简…

【设计模式系列】代理模式(八)

一、什么是代理模式 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它为其他对象提供一种代理以控制对这个对象的访问。代理模式在不直接访问实际对象的情况下&#xff0c;提供了对目标对象的间接访问。通过引入一个代理对象来间接操作实际对…

layui扩展组件之----右键菜单

源码&#xff1a;rightmenu.js layui.define([element], function (exports) {let element layui.element;const $ layui.jquery;let MOD_NAME rightmenu;let RIGHTMENUMOD function () {this.v 1.0.0;this.author raowenjing;};String.prototype.format function () {…

检索引擎Elasticsearch

一.为什么要用Elasticsearch 由于我们在运行我们的项目的时候通常都是将数据存到mysql或者sql serve等数据库中&#xff0c;在进行数据搜索时使用sql 语句 like进行模糊匹配查询&#xff0c;其一&#xff1a;虽然可以查到数据&#xff0c;但是它模糊匹配查询速度较慢&#xff0…

世优科技“AI+空间计算”推动消费行业向智能化升级

人工智能的演进正从初期的技术探索阶段&#xff0c;转向技术应用阶段&#xff0c;在此趋势下&#xff0c;融合了多模态大模型、虚拟现实、空间计算等前沿技术的人工智能应用新方向&#xff0c;展现出了巨大的潜力和商业价值。 10月19日&#xff0c;2024北京朝阳国际灯光节全新…

[C++11] 右值引⽤与移动语义

文章目录 左值和右值左值&#xff08;Lvalue&#xff09;右值&#xff08;Rvalue&#xff09;区别 左值引⽤和右值引⽤左值引用&#xff08;Lvalue Reference&#xff09;右值引用&#xff08;Rvalue Reference&#xff09;右值引用的特点 右值引用延长生命周期右值引⽤和移动语…

数据结构——树、二叉树和森林间的转换

前言 介绍 &#x1f343;数据结构专区&#xff1a;数据结构 参考 该部分知识参考于《数据结构&#xff08;C语言版 第2版&#xff09;》129~130页 &#x1f308;每一个清晨&#xff0c;都是世界对你说的最温柔的早安&#xff1a;ૢ(≧▽≦)و✨ 目录 前言 1、基础知识 2…

Matlab 车牌识别技术

1.1设计内容及要求&#xff1a; 课题研究的主要内容是对数码相机拍摄的车牌&#xff0c;进行基于数字图像处理技术的车牌定位技术和车牌字符分割技术的研究与开发&#xff0c;涉及到图像预处理、车牌定位、倾斜校正、字符分割等方面的知识,总流程图如图1-1所示。 图1-1系统总…

《手写Spring渐进式源码实践》实践笔记(第十一章 AOP-基于JDK、Cglib实现对象动态代理)

文章目录 第十一章 基于JDK、Cglib实现对象动态代理背景目标设计实现代码结构类图代理案例解析案例代码运行结果拆解案例 实现步骤 测试事先准备自定义拦截方法测试用例测试结果&#xff1a; 总结 第十一章 基于JDK、Cglib实现对象动态代理 背景 到本章节我们将要从 IOC 的实现…

今日头条APP移动手机端留痕脚本

这两个的脚本目的是什么呢&#xff1f; 很简单&#xff0c;就是批量访问指定用户的首页&#xff0c;在他人访客记录里面留下你的账户信息&#xff0c;可以让对方访问你的头条&#xff0c;概率下会关注你的头条&#xff0c;目的嘛&#xff0c;这个自己细想&#xff01; 第1个是…

网页上的视频怎么下载下来?三种方法

分享三个简单好用的网页视频下载工具&#xff0c;值得使用&#xff01; 1.IDM IDM 是一款可以提高下载速度达5倍的工具&#xff0c;同时具有恢复、调度和组织下载的功能。如果由于网络问题或意外的电源中断&#xff0c;程序将恢复未完成的下载。 IDM 还具有一个完全功能的站点…

张驰咨询:六西格玛培训费用,到底值不值得花?

六西格玛作为一种先进的管理理念和统计方法&#xff0c;已经在全球范围内得到了广泛的应用和认可。它旨在通过减少流程变异&#xff0c;提高产品质量和客户满意度&#xff0c;从而为企业带来持续的改进和盈利增长。随着六西格玛理念的普及&#xff0c;越来越多的人和企业开始寻…

spark on kubernetes运行测试

测试环境 ● kubernetes 1.20.15 ● default命名空间 ● spark 3.1.2 ● kubectl 运行架构 构建镜像 配置JAVA_HOME下载spark二进制包spark-3.1.2-bin-hadoop3.2.tgz并解压修改kubernetes/dockerfiles/spark/Dockerfile文件 ARG java_image_tag11-jre-slimFROM openjdk:${j…

HBuilder X 中Vue.js基础使用2(三)

一、条件渲染 1、条件判断 v-if &#xff1a; 表达式返回真值时才被渲染 v-else &#xff1a;表达式返回为假时不被渲染 2、 分支条件判断 v-else-if &#xff1a;使用v-if , v-else-if 和 v-else 来表示其他的条件分支 3、显示隐藏 v-show v-show true 把节点显示 …

持续深化信创布局,途普科技与统信软件完成产品兼容性互认证

近日&#xff0c;由北京途普科技有限公司&#xff08;以下简称“途普科技”&#xff09;自主研发的TopGraph图数据库及知识图谱构建平台已成功完成统信服务器操作系统V20的兼容性互认证&#xff0c;标志着途普科技在国产自控技术上又迈出了坚实的一步。 在各项严格的测试环节中…

技术成神之路:设计模式(二十一)外观模式

相关文章&#xff1a;技术成神之路&#xff1a;二十三种设计模式(导航页) 介绍 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它为子系统中的一组接口提供一个统一的接口。外观模式定义了一个高层接口&#xff0c;使得子系统更容易使用。 …

XJ02、消费金融|消费金融业务模式中的主要主体

根据所持有牌照类型的不同,消费金融服务供给方主要分为商业银行、汽车金融公司、消费金融公司和小贷公司,不同类型机构定位不同、提供消费金融服务与产品类型也各不相同。此外,互联网金融平台也成为中国消费金融业务最重要的参与方之一,虽其并非持牌金融机构,但借助其流量…

D50【python 接口自动化学习】- python基础之类

day50 init方法 学习日期&#xff1a;20241027 学习目标&#xff1a;类 -- 64 init方法&#xff1a;如何为对象传递参数&#xff1f; 学习笔记&#xff1a; 魔术方法 init方法 class Klass(object):# 定义初始化方法&#xff0c;类实例化时自动进行初始化def __init__(self…

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 目录 AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 一、简单介绍 二、创建一个聊…

基于SSM+小程序的旅游社交登录管理系统(旅游4)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 ​ 本旅游社交小程序功能有管理员和用户。管理员有个人中心&#xff0c;用户管理&#xff0c;每日签到管理&#xff0c;景点推荐管理&#xff0c;景点分类管理&#xff0c;防疫查询管理&a…