【发布时间】:2017-01-03 02:39:06
【问题描述】:
考虑以下代码,该代码使用紫色调色板制作条形图
library(dplyr)
library(ggplot2)
dd <- mpg %>%
group_by(manufacturer, cyl) %>%
summarise(n = n()) %>%
ungroup()
mm <- dd %>%
group_by(manufacturer) %>%
summarise(mcyl = weighted.mean(cyl, n)) %>%
arrange(mcyl) %>%
ungroup()
dd %>% left_join(mm) %>%
ggplot(mapping = aes(x = reorder(manufacturer, mcyl), y = n, fill = factor(cyl))) +
geom_bar(stat = "identity", position = "fill") +
coord_flip() +
scale_fill_brewer(palette = "Purples")
问题:我怎样才能为奥迪红色(“红色”)和福特蓝色(“蓝色”)制作调色板,同时保持其他紫色(“紫色”)?
将这些红色/蓝色/紫色调色板放入变量并将其传递给scale_fill_manual()(如in this related Q&A 解释)的最方便(最好是tidyverse)方法是什么?
【问题讨论】:
-
定义自定义,然后使用身份?
-
@zx8754 如果您可以将此扩展为答案...?
-
抱歉,目前没有太多时间来获得完整的答案。制作一个红色、蓝色、紫色的调色板,每个 4 个,然后使用新的 myCol 列映射到汽车名称,使用该列填充?
-
我觉得这通常相当复杂。 This answer 在热图中显示了一个示例,但方法可能与条形图类似。
-
@zx8754 想通了,谢谢
标签: r ggplot2 customization geom-bar color-palette