R ggplot2带有色盲GG主题(黑色除外)

R ggplot2带有色盲GG主题(黑色除外),r,ggplot2,R,Ggplot2,我想创建一行通用代码,可以应用于我制作的任何ggplot分组条形图。我希望它能使我的图形色盲友好。在库ggthemes中,scale\u fill\u colorbind函数只执行此任务。我的问题是黑色经常被选为一种颜色;我有时需要覆盖置信区间和其他东西,所以黑色不是一个真正的选项 library(ggplot2) library(ggthemes) ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar(position="dodge")+ sc

我想创建一行通用代码,可以应用于我制作的任何
ggplot
分组条形图。我希望它能使我的图形色盲友好。在库
ggthemes
中,
scale\u fill\u colorbind
函数只执行此任务。我的问题是黑色经常被选为一种颜色;我有时需要覆盖置信区间和其他东西,所以黑色不是一个真正的选项

library(ggplot2)
library(ggthemes)
ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar(position="dodge")+
scale_fill_colorblind()
刻度\u fill\u colorblind
中有没有办法让一些代码告诉它不要选择黑色?我不想手动列出颜色,因为我希望它与许多不同的数据兼容(有些可能有两个“填充”,有些可能有10个等等)

任何帮助都将不胜感激。

充其量只是一个黑客

ggthemes_data$colorblind  <- ggthemes_data$colorblind[-1]
assignInNamespace("ggthemes_data", ggthemes_data, ns="ggthemes")

last_plot() + scale_fill_colorblind()

ggthemes\u data$colorbind另一个选项是使用
ggthemes::colorbind\u pal
缩放填充手册

library(ggplot2)
library(ggthemes)
ggplot(diamonds, aes(clarity, fill = cut)) + 
  geom_bar(position = "dodge") +
  scale_fill_colorblind()


n <- length(unique(diamonds$cut))

# or 
n <- data.table::uniqueN(diamonds$cut)

# Manually fill the geom with breaks provided by the data
#  and getting one extra color from ggthemes::colorblind_pal
#  then dropping black (the first color)
ggplot(diamonds, aes(clarity, fill = cut)) + 
  geom_bar(position = "dodge") +
  scale_fill_manual(breaks = diamonds$cut, 
                    values = colorblind_pal()(n + 1)[-1])
库(ggplot2)
图书馆(主题)
ggplot(钻石、aes(透明度、填充=切割))+
几何图形栏(位置=“道奇”)+
缩放\填充\色盲()

n要恢复此攻击,您会怎么做?我可能会重新启动R,或者尝试分离()包并重新加载它