r - 如何在 geom_bar 的图例中仅显示 3 个标签中的 2 个
问题描述
我有以下数据集,我想使用ggplot2
on绘制它R
。
set.seed(1)
dat <- data.frame(Q = 1:5, R = runif(5), type = c("No Label","Label 1","Label 2","No Label","No Label"))
我想使用以下代码绘制它
ggplot(dat, aes(fill=type, Q, R)) +
geom_bar(stat="identity") +
scale_fill_grey(start = 0.8, end = 0.1) +
labs(x = "Bin", y = "R" ) +
theme_bw() +
ylim(0,1)+
theme(legend.title = element_blank(),
legend.position = "bottom",
axis.text=element_text(size=28),
axis.title=element_text(size=28),
legend.text = element_text(size = 28),
legend.spacing.x = unit(1.0, 'cm'))
但我想在图例中只显示分组数据的标签Label 1
和Label2
. 我找不到办法做到这一点。任何想法?谢谢你。
解决方案
尝试breaks
在您的scale_fill_grey()
语句中使用您可以定义所需标签的方式:
#Code
ggplot(dat, aes(fill=type, Q, R)) +
geom_bar(stat="identity") +
scale_fill_grey(start = 0.8, end = 0.1,breaks=c('Label 1','Label 2')) +
labs(x = "Bin", y = "R" ) +
theme_bw() +
ylim(0,1)+
theme(legend.title = element_blank(),
legend.position = "bottom",
axis.text=element_text(size=28),
axis.title=element_text(size=28),
legend.text = element_text(size = 28),
legend.spacing.x = unit(1.0, 'cm'))
输出:
推荐阅读
- javascript - 如何从不存在下载按钮的 pdfviewer 下载/保存为 pdf 演示文稿?
- azure-devops - azure devops 中的存储库级别通知设置
- meteor - 在 Meteor 服务器上使用 NodeJS EventEmitter
- python - 如何使用 attrs 从字符串反序列化为不可变对象?
- python-3.x - Tkinter Toplevel 窗口未出现
- vb.net - 如果在数据网格视图中满足某些条件,如何使按钮不可见和可见。?
- python - 当数据输入到另一个输入字段时,让输入字段实时更新
- vue.js - 基于复选框计数呈现按钮
- python - 使用 Python3 和 Matplotlib 创建动画
- node.js - 两次刷新同一页面时出错