使用geom_bar fill自定义ggplot中条形图的顺序

我正在尝试制作一张图表,以显示不同音乐风格的乐曲中情感的比例。我已经获得了这张图表,该图表已经很令人满意了,但是如果我可以选择显示这些情感的顺序,那么我可以更容易阅读,我可以将一个颜色的正值组合在一起,而将其他颜色的负组合在一起。颜色。

Chart: Emotions proportions in songtext by music style 我试图在绘制情节之前重新排列情绪,但是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")

该定单条件对图表没有影响,我尝试使用该条件也可以不使用。

有人知道如何更改订单吗?以及如何选择横条的颜色?

非常感谢

weiwei398 回答:使用geom_bar fill自定义ggplot中条形图的顺序

如果您提供问题的reproducible example,将可以轻松地为您提供帮助。

您不仅需要整理数据,还需要更改数据级别的顺序:

      datasorted <- datasorted %>% 
        mutate(track.lyrics.predominantsentiment = 
               fct_relevel(track.lyrics.predominantsentiment,c("joy","trust","disgust","fear","anger","sadness")))

现在可以使用scale_fill_manual之类的比例来更改颜色。

本文链接:https://www.f2er.com/3109987.html

大家都在问