[英]Customise the order of bar segments in a ggplot with geom_bar fill
我正在尝试制作一个图表,显示不同音乐 styles 的歌曲文本中的情绪比例。 我有这张图表,它已经很令人满意了,但是如果我可以选择显示这些情绪的顺序,我可以将积极的东西放在一个颜色中,将消极的东西放在另一个范围内,这样会更容易阅读。颜色。
图表:按音乐风格划分的歌曲文本中的情绪比例我试图在绘制之前重新排列情绪,但 ggplot 似乎重新排列了它们,我不知道为什么。
datasorted <- datasorted %>% arrange(factor(track.lyrics.predominantsentiment,
levels = c("joy","trust","disgust",
"fear","anger","sadness")))
datasorted %>% filter(track.tag %in% c("Rap","R&B", "Pop", "Rock")) %>% group_by(track.tag) %>%
ggplot(aes(x=track.tag, fill=track.lyrics.predominantsentiment,
order=track.lyrics.predominantsentiment)) +
geom_bar(position = "fill")
该订单条件对图表没有影响,我尝试使用它和不使用它。
有人知道如何更改订单吗? 以及如何选择barsections的colors?
非常感谢
如果您提供一个可重现的问题示例,那么为您提供帮助会容易得多。
您不仅需要排列数据,还需要更改数据级别的顺序:
datasorted <- datasorted %>%
mutate(track.lyrics.predominantsentiment =
fct_relevel(track.lyrics.predominantsentiment,
c("joy","trust","disgust", "fear","anger","sadness")))
现在可以使用诸如 scale_fill_manual 之类的比例更改scale_fill_manual
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.