r - 如何为 dodge_position 中的两列设置 scale_fill_gradient?
问题描述
如何为 dodge_position 中的两列添加 scale_fill_gradient?
代码:
ggplot(df, aes(x=msc, y=as.integer(value), fill=variable)) +
geom_col(position='dodge')+
theme(legend.position = "bottom")+
labs(x = "Miesiąc",y="Ilość zapytań")+
theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1,size = 11),
axis.title = element_text(size = 12))+
geom_text(aes(label=value),position =position_dodge(width = 1),vjust = -0.2) +
scale_fill_manual("legend", values = c("unikalne_zapytania" = '#009999', "zapytania" = '#4d0099')) +
ggtitle("Wykres zapytań za ostatni rok") +
guides(fill=guide_legend(title='Rodzaj'))
解决方案
如果没有一个最小的可重复示例,很难帮助你,但我认为你要求的东西是不可能的。您正在使用分类变量variable
对条形图进行分组,但现在您想使用连续变量为相同的条形图着色。无论如何,这里有一个建议如何实现与您的要求类似的东西:
library(ggplot2)
mtcars %>%
mutate(group = sample(c("A", "B"), nrow(mtcars), replace=TRUE)) %>%
group_by(group, cyl) %>%
summarise(mean_mpg = mean(mpg),
mean_disp = mean(disp)) %>%
ggplot(aes(factor(cyl), mean_mpg)) +
geom_bar(aes(color=group, fill = mean_disp), position = "dodge", stat="identity")
得到这个图:
推荐阅读
- javascript - 如何使用补间动画在 Phaser 3 中为线条缩放设置动画?
- javascript - 类构造函数 Object3D 不能在 new THREE.CSS2DObject 处没有“new”的情况下被调用
- python - AWS API GW + Lambda 烧瓶
- javascript - 水平居中对齐
- java - 如何在 Apache NetBeans IDE 上创建 jar 文件
- c# - 查询列表并将 Id 与登录的 userId 进行比较
- java - JRE 忽略 TLSv1.1 首选项
- c# - MVP 模式 - 在被动视图中填充列表和网格
- node.js - 我不明白为什么我的 api 在我使用 app.get 调用它时返回未知/未定义
- mongodb - 为什么要为一个字段创建复合索引?