【问题标题】:翻转坐标时更改ggplot中的图例顺序
【发布时间】:2022-01-12 09:04:04
【问题描述】:

我有一个非常简单的问题,但我没能解决。在下面的图例中,我希望在“睡眠”之上有“工作”,并保持图形和颜色不变(所以以蓝色工作,以红色睡眠)。

  data <- data.frame(Name = rep(c("Tom","Ana"), 2),
                 Category = rep(c("sleep","work"),each=2),
                 Percentage = c(40,20,60,80))
ggplot(data, aes(fill=Category, y=Percentage, x=Name)) + 
geom_bar(position="fill", stat="identity", colour="black") +
coord_flip()

current graph

提前非常感谢!!!

【问题讨论】:

  • 提示 - 使用 geom_col 代替 geom_bar(stat = "identity")) (它们是相同的),并交换 x 和 y 审美,这可以让你放弃 coord_flip。让很多事情变得更容易。你的情节是ggplot(data, aes(fill=Category, x=Percentage, y=Name)) + geom_col(position="fill", colour="black")

标签: r ggplot2 legend


【解决方案1】:

很好的代表!

您可能需要手动设置填充颜色和级别。

library(tidyverse)

data <- data.frame(Name = rep(c("Tom","Ana"), 2),
                   Category = rep(c("sleep","work"),each=2),
                   Percentage = c(40,20,60,80))
ggplot(data, aes(fill=Category, y=Percentage, x=Name)) + 
  geom_bar(position="fill", stat="identity", colour="black") +
  scale_fill_manual(breaks = c("work", "sleep"), values = c("#01BFC4", "#F8766D")) + 
  coord_flip()

reprex package 创建于 2021-12-07 (v2.0.1)

【讨论】:

    猜你喜欢
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多