【问题标题】:Match Legend Order with Bar Order in Stacked Bar Chart with Pos and Neg values在具有 Pos 和 Neg 值的堆叠条形图中将图例顺序与条形顺序匹配
【发布时间】:2021-05-28 14:53:28
【问题描述】:

我有以下代码可以生成堆积条形图。

我想保留条形图的顺序(从上到下:Expansion、New、Contraction、Churned),同时也让图例顺序保持相同。

当我更改 type 因子的级别时,它会正确地重新排序图例,但随后会更改图中的顺序。我怎样才能让两者匹配?

有一个类似的问题here,但接受的答案的情节和图例的顺序不匹配。

这里有一些简单的代码来演示:

library(tidyverse)


df1 <- data.frame(
  date = rep(seq.Date(as.Date('2021-01-01'), as.Date('2021-04-01'), 'month'), 4),
  type = c(rep('New', 4), rep('Expansion', 4), rep('Contraction', 4), rep('Churned', 4)),
  value = c(100, 75, 200, 150, 50, 40, 75, 90, -10, -40, -25, -15, -5, -10, -10, -20)
)

df1$type <- factor(df1$type, levels = c('Expansion', 'New', 'Churned', 'Contraction'))

ggplot(df1,
       aes(x = date,
           y = value,
           fill = type)) +
  geom_bar(stat = "identity")

【问题讨论】:

  • 试试scale_fill_discrete(limits = c('Expansion', 'New', 'Contraction','Churned'))
  • 谢谢!这样做了

标签: r ggplot2


【解决方案1】:

我相信你只需要用scale_fill_discrete设置填充顺序:

ggplot(df1,
       aes(x = date,
           y = value,
           fill = type)) +
  geom_bar(stat = "identity") +
  scale_fill_discrete(breaks = c('Expansion', 'New', 'Contraction', 'Churned'))

【讨论】:

  • 谢谢!这样做了
猜你喜欢
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2017-07-21
  • 2017-07-31
  • 1970-01-01
相关资源
最近更新 更多