我想创建一个可以应用于我制作的任何ggplot
分组条形图的一般代码。我希望它能使我的图形颜色盲目友好。在库ggthemes
中,scale_fill_colorblind
函数只完成工作。我的问题是黑色经常被选为其中一种颜色;我有时需要重叠置信区间和其他东西,所以黑色不是一个真正的选择。
library(ggplot2)
library(ggthemes)
ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar(position="dodge")+
scale_fill_colorblind()
有没有办法让scale_fill_colourblind
代码中的某些代码告诉它不要选黑色?我不想手动列出颜色,因为我希望它与许多不同的数据兼容(有些可能有两个"填充",大约10等...)。
非常感谢任何帮助。
答案 0 :(得分:3)
充其量是黑客,
ggthemes_data$colorblind <- ggthemes_data$colorblind[-1]
assignInNamespace("ggthemes_data", ggthemes_data, ns="ggthemes")
last_plot() + scale_fill_colorblind()
答案 1 :(得分:0)
另一种选择是将ggthemes::colorblind_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])
一起使用。
var drinks = ["Coke", "Pepsi", "Water", "Orange Juice"];
var lowerCaseDrinks = drinks.map(e => e.toLowerCase());
console.log(lowerCaseDrinks);