前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2优雅绘制调色板图

ggplot2优雅绘制调色板图

作者头像
R语言数据分析指南
发布2024-02-22 08:41:40
1500
发布2024-02-22 08:41:40
举报

欢迎关注R语言数据分析指南

❝本节来介绍如何通过R代码绘制调色板图,大家可根据自己喜爱整理常用的调色板方便后期使用,整个过程仅参考。希望对各位观众老爷能有所帮助。❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(gridExtra)
library(scales)
library(ggsci)

导入数据

代码语言:javascript
复制
hex_df <- read_tsv("col.xls")
rgb_df <- col2rgb(hex_df$color_hex) 
lab_df <- convertColor(t(rgb_df), 'sRGB', 'Lab')

绘制单个调色板

代码语言:javascript
复制
df <- data.frame(color = hex_df$color_hex[order(lab_df[, 'L'])])

df %>% 
  ggplot(aes(x = color, y = 1, fill = color)) +
  geom_tile() +
  scale_fill_identity() + 
  theme_void() +
  theme(axis.title.x = element_text(size = 10,face="bold",color = "#000000"),
        plot.margin = unit(c(1.75, 1.75, 1.75, 1.75), "cm"),
        plot.background = element_rect(color = NA, fill = "#F2F2F2"))

绘制多个调色板

代码语言:javascript
复制
sci_palettes <- list(aaas=pal_aaas()(10),
                     npg=pal_npg()(10),
                     nejm=pal_nejm()(8),
                     lancet=pal_lancet()(9),
                     jama=pal_jama()(7),
                     jco=pal_jco()(10),
                     d3=pal_d3()(10),
                     locuszoom=pal_locuszoom()(7),
                     uchicago=pal_uchicago()(9),
                     startek=pal_startrek()(7),
                     tron=pal_tron()(7),
                     futurama=pal_futurama()(12),
                     simpsons=pal_simpsons()(16),
                     cosmic=pal_cosmic("hallmarks_light")(10),
                     rickandmorty=pal_rickandmorty("schwifty")(12),
                     flatui=pal_flatui("default")(10),
                     frontiers=pal_frontiers("default")(10),
                     gsea=pal_gsea("default")(12))
为每个调色板创建颜色条
代码语言:javascript
复制
plot_palette <- function(palette_name, colors) {
  df <- data.frame(colors = colors, x = 1:length(colors))
  
  p <- ggplot(df, aes(x = x, y = 1, fill = colors)) +
    geom_tile() + 
    scale_fill_identity() +
    labs(x=NULL,y=NULL)+
    theme_void()+
    theme(plot.title = element_text(size = 10,color="black",vjust=1,hjust=0.5))+
    ggtitle(palette_name)
  
  return(p)
}

可以将日常比较喜欢的颜色整理成相应格式,使用上方代码整合成调色版图进而还可制作成R包方便后期使用,本节介绍到此结束

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

本文分享自 R语言数据分析指南 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 加载R包
  • 导入数据
  • 绘制单个调色板
  • 绘制多个调色板
    • 为每个调色板创建颜色条
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档