我目前正在使用scale_brewer()填充物,这些颜色看起来很漂亮(在屏幕上和通过彩色打印机),但在使用黑白打印机时相对均匀地打印为灰色.我搜索了在线ggplot2文档,但没有看到任何关于添加纹理来填充颜色的内容.有没有官方的ggplot2方式来做这个或有人有他们使用的黑客?通过纹理,我的意思是像斜条,反向对角线条,点图案等,当黑白打印时会区分填充颜色.
假设我有一个带有序数变量和一个分类变量的数据:
set.seed(35)
df <- data.frame(Class = factor(rep(c(1,2),times = 80), labels = c("Math","Science")),
StudyTime = factor(sort(sample(1:4, 16, prob = c(0.25,0.3,0.3,0.15), replace = TRUE)),labels = c("<5","5-10","10-20",">20")),
Nerd = factor(sapply(rep(c(0.1,0.3,0.5,0.8),c(30,50,50,30)), function(x)sample(c("Nerd","NotNerd"),size = 1, prob = c(x,1-x))),levels = c("NotNerd","Nerd")))
Run Code Online (Sandbox Code Playgroud)
人们可以使用ggplotand geom_barwith x, filland alpha(or color) 美学映射来可视化这些变量之间的关系。
ggplot(data = df, aes(x = Class, fill = StudyTime, alpha = Nerd)) +
geom_bar(position = "dodge", color = "black") +
scale_alpha_manual(values = c(Nerd = 0.5, NotNerd = 1)) +
scale_fill_manual(values = …Run Code Online (Sandbox Code Playgroud)