ggGenshin&Genshinpalette|SCI绘图遇上原神,不输于CNS正刊调色板

简介: 本文介绍了两个R包——`ggGenshin`和`Genshinpalette`,它们提供了基于热门游戏《原神》角色的配色方案,用于提升数据分析图表的视觉吸引力。`ggGenshin`安装后可通过角色名字调用配色,展示了一个生成条形图的例子。`Genshinpalette`则提供了更多角色的色彩选项,并在`diamonds`数据集上展示了应用。这两个包为R用户提供了现成的、具有游戏特色的调色板,可用于创建更吸引人的图表。

前言

前段时间做分析有伙计觉得原文章绘图颜色太low,提到要眼前一亮。为调色盘而烦恼?笔者冲浪冲到两个R包,ggGenshin&Genshinpalette,信仰拉满,其实关于配色铁粉肯定有自己配一套调色盘,这里分享的是现成打包好的配色,直接使用,这把高端局

image.png

ggGenshin

安装R包:

devtools::install_github("RestlessTail/ggGenshin")
library(ggGenshin)

查看一下“阵容”

ggGenshin::keys()
# key.name        en.fullname cn.fullname
# 1     albedo             Albedo      阿贝多
# 2  alhaitham          Alhaitham    艾尔海森
# 3      ayaka     Kamizato Ayaka    神里绫华
# 4    bennett            Bennett      班尼特
# 5     collei             Collei        柯莱
# 6      diona              Diona      迪奥娜
# 7       dori               Dori        多莉
# 8    faruzan            Faruzan      珐露珊
# 9      ganyu              Ganyu        甘雨
# 10      itto       Arataki Itto    荒泷一斗
# 11      jean               Jean          琴
# 12       jin            Yun Jin        云堇
# 13    kazuha   Kaedehara Kazuha    枫原万叶
# 14    keqing             Keqing        刻晴
# 15      klee               Klee        可莉
# 16    kokomi Sangonomiya Kokomi  珊瑚宫心海
# 17      miko           Yae Miko    八重神子
# 18    nahida             Nahida      纳西妲
# 19     nilou              Nilou        妮露
# 20    noelle             Noelle      诺艾尔
# 21     razor              Razor        雷泽
# 22      sayu               Sayu        早柚
# 23    shenhe             Shenhe        申鹤
# 24    shogun      Raiden Shogun    雷电将军
# 25   sucrose            Sucrose        砂糖
# 26       tao             Hu Tao        胡桃
# 27  tighnari           Tighnari      提纳里
# 28     venti              Venti        温迪
# 29 xiangling          Xiangling        香菱
# 30      xiao               Xiao          魈
# 31   yoimiya            Yoimiya        宵宫
# 32   zhongli            Zhongli        钟离

这边随便造了个数据框,5个基因,10个分组,每组15个样本,即150x5的矩阵。笔者不玩这游戏,有点脸盲,任意挑了几个配色结果出来,请选择你的“英雄”:

set.seed(123)

# 创建数据框
df <- data.frame(
  group = rep(letters[1:10], each = 15),  # 这里使用letters[1:10]来得到a-j
  gene1 = rnorm(150),
  gene2 = rnorm(150),
  gene3 = rnorm(150),
  gene4 = rnorm(150),
  gene5 = rnorm(150)
)
library(tidyverse)

# 计算每个组和基因的均值
df_melted <- df %>%
  gather(key="gene", value="expression", -group) %>%
  group_by(group, gene) %>%
  summarise(mean_expression=mean(expression))
ggplot(df_melted, aes(x=gene, y=mean_expression, fill=group)) +
  geom_bar(stat="identity", position="dodge") +
  ggtitle("Mean Expression Levels across Genes and Groups") +
  xlab("Gene") + 
  ylab("Mean Expression Level") +
  theme_minimal() + 
  scale_fill_albedo()


plot_list <- lapply(1:length(ggGenshin::keys()$key.name), function(i) {
   
   
  key <- ggGenshin::keys()$key.name[i]
  scale_function_name <- paste0("ggGenshin::scale_fill_", key)
  scale_function <- eval(parse(text=scale_function_name))

  p <- ggplot(df_melted, aes(x=gene, y=mean_expression, fill=group)) +
    geom_bar(stat="identity", position="dodge") +
    ylab("Mean Expression Level") +
    theme_minimal() + 
    theme(axis.text.x=element_blank(), axis.title.x=element_blank()) +
    scale_function()

  # 只在第一个图上添加标题
  if (i == 1) {
   
   
    p <- p + ggtitle("Mean Expression Levels")
  }

  return(p)
})

library(gridExtra)

# 定义每个页面上的图的数量
plots_per_page <- 4
num_pages <- ceiling(length(plot_list) / plots_per_page)

pdf("output_plots.pdf",width = 15,height = 10)
for (page in 1:num_pages) {
   
   
  start_idx <- (page - 1) * plots_per_page + 1
  end_idx <- min(page * plots_per_page, length(plot_list))
  grid.arrange(grobs = plot_list[start_idx:end_idx], ncol=2, nrow=2)
}

dev.off()

image.png

1~4

image.png

5~8

image.png

29~32

image.png

21~24

image.png

29~32

Genshinpalette

安装R包

remotes::install_github("Schwarzeneggerjune/Genshinpalette",force = T)
library(Genshinpalette)

查看“阵容”

好像大差不差

char_name=get_character_name(Country = "All")#Country原神中全部国家
head(char_name,67)
# ALBEDO               ALOY              AMBER            BARBARA            BENNETT 
# "阿贝多"           "埃洛伊"             "安柏"           "芭芭拉"           "班尼特" 
# DIONA              DILUC             FISCHL              KAEYA               KLEE 
# "迪奥娜"           "迪卢克"           "菲谢尔"             "凯亚"             "可莉" 
# KONG              RAZOR               LISA            ROSARIA               MONA 
# "空"             "雷泽"             "丽莎"         "罗莎莉亚"             "莫娜" 
# NOELLE              PIMON               JEAN            SUCROSE              VENTI 
# "诺艾尔"             "派蒙"               "琴"             "砂糖"             "温蒂" 
# YING               EULA               MIKA             BEIDOU          TARTAGLIA 
# "荧"             "优菈"             "米卡"             "北斗"         "达达利亚" 
# GANYU              HUTAO             KEQING          NINGGUANG               QIQI 
# "甘雨"             "胡桃"             "刻晴"             "凝光"             "七七" 
# SHENHE          XIANGLING               XIAO             XINYAN            XINGQIU 
# "申鹤"             "香菱"               "魈"             "辛焱"             "行秋" 
# YANFEI             YAOYAO              YELAN             YUNJIN            ZHONGLI 
# "烟绯"             "瑶瑶"             "夜兰"             "云堇"             "钟离" 
# CHONGYUN            YAEMIKO    KAEDEHARAKAZUHA        ARATAKIITTO           KUJOSARA 
# "重云"         "八重神子"         "枫原万叶"         "荒泷一斗"         "九条裟罗" 
# RAIDENSHOGUN    SHIKANOINHEIZOU SANGONOMIIYAKOKOMI      KAMISATOAYAKA      KAMISATOAYATO 
# "雷电将军"       "鹿野院平藏"       "珊瑚宫心海"         "神里绫华"         "神里绫人" 
# THOMA              GOROU            YOIMIYA               SAYU        KUKISHINOBU 
# "托马"             "五郎"             "宵宫"             "早柚"           "久岐忍" 
# ALHAITHAM               DORI            FARUZAN            CANDACE             COLLEI 
# "艾尔海森"             "多莉"           "珐露珊"           "坎蒂丝"             "柯莱" 
# LAYLA           WANDERER             NAHIDA              NILOU               CYNO 
# "莱依垃"           "流浪者"           "纳西妲"             "妮露"             "赛诺" 
# TIGHNARI              DEHYA 
# "提纳里"           "迪希雅"

用diamonds数据集,开整吧

library(ggplot2)
data("diamonds")
ggplot(
  subset(diamonds, carat >= 2.2),
  aes(x = table, y = price, colour = cut)
) +
  geom_point(alpha = 0.9) +
  geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +
  theme_bw()+
  scale_color_manual(values = Genshinpalette('WANDERER'))

image.png

image.png

image.png

image.png

调色板都已经整理好的,可以直接调用:

Genshinpalette('RAIDENSHOGUN',#角色名称
                20)#所需颜色个数,默认为6
# [1] "#EADDF2" "#DCCCED" "#CEBBE9" "#C3ABE6" "#BDA0E4" "#B794E1" "#AC89CF" "#9C7CB0" "#8D7091"
# [10] "#8970A3" "#8873BC" "#8471CD" "#7558A7" "#654081" "#59326E" "#513372" "#493477" "#3C2F6F"
# [19] "#2D2762" "#1F1F56"
display_colors('RAIDENSHOGUN')

image.png

小总结

有时候文章投不出去万一是图不够好看,文章投出去分不高万一是配色不够艳,这把高端局,Genshin的配色丝毫不输于发表级正刊SCI的调色板,冲吧战士们,喜欢点个赞收藏一手

笔者不玩原神,各位佬们勿cue

目录
相关文章
|
7天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1922 6
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
5天前
|
存储 人工智能 关系型数据库
阿里云AI产品与云产品最新组合套餐:Token Plan、AI coding及云服务器和建站等组合优惠价
阿里云推出全新“算力+模型+应用”一站式云与AI组合套餐活动,覆盖从个人开发者到中大型企业的全场景需求。核心亮点为分三档定价的Token Plan订阅服务,支持Qwen3.8-Max-Preview大模型调用,错峰时段最低可享0.2折优惠。活动同步推出AI Coding、智能体部署、云电脑托管、0代码建站等十余类场景化组合,搭配99元/年的普惠云服务器、88元/年的入门数据库等经典特惠产品,还为企业提供1V1定制化AI转型方案,大幅降低了不同用户群体拥抱AI的技术门槛与采购成本。
652 111
|
15天前
|
人工智能 JSON 安全
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
阿里云AI安全产品联动防御Fastjson攻击
2556 13
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
|
7天前
|
人工智能 弹性计算 数据库
阿里云优惠券种类解析:主要券种区别和适用群体及领取和使用指南
2026年阿里云构建了覆盖全用户的七类优惠券,本文逐一拆解了每类优惠券的核心规则、适用人群与使用技巧:大促限定的阶梯满减券分个人、企业双通道,最高可减800元;学生专属300元无门槛券支持全品类通用;按量付费用户可参与消费达标返券形成循环优惠;新用户有低门槛专享满减券尝鲜;老用户可领取系统自动发放的随机福利券;中大型企业迁云可申请最高100万元的专项补贴;云产品通用券还能在活动价基础上实现折上折。不同身份、不同采购场景的用户均可通过精准匹配对应优惠券,最大化享受优惠力度。
462 110
阿里云优惠券种类解析:主要券种区别和适用群体及领取和使用指南
|
13天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
1624 2
|
15天前
|
人工智能 自然语言处理 数据挖掘
Qwen3.8-Max-Preview深度全解析:2.4万亿参数旗舰MoE模型+Token Plan限时优惠完整落地指南
2026年7月,全新旗舰级混合专家大模型Qwen3.8-Max-Preview正式开放抢先体验,作为通义千问Qwen3系列规格最高、综合推理能力顶尖的新一代模型,该模型总参数量达到2.4万亿(2.4T),是当前线上可调用的原生多模态旗舰模型,综合推理水准对标海外顶级Fable 5模型,在复杂工程开发、长文档深度分析、多步骤智能体自治、跨境多语言创作、海量数据挖掘五大高难度业务场景实现跨越式性能提升。
1428 2
|
17天前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
1500 55
|
2天前
Qoder 一周年 × Qwen3.8-Max 正式上线,多重好礼限时领
8月3日,Qwen3.8-Max 正式上线Qoder,迎来Qoder一周年。新老用户可领800次免费调用,下单再赠2000次;夜间(22:00–08:00)调用5折;邀请好友双方得积分与调用额度。
250 0