ggplot 单个变量的 colorbrewer 刻度的逆序
ggplot reverse order of colorbrewer scales for single variables
library(tidyverse)
library(RColorBrewer)
mtcars %>%
count(cyl) %>%
ungroup() %>%
ggplot(aes(cyl, n, color = "A")) +
geom_line(size = 2) +
# scale_color_brewer(palette = "Accent", guide = "none") + # line 8
scale_color_brewer(palette = "Accent", direction = -1, guide = "none") +
NULL
我认为 ggplot 的 direction = -1
参数会反转色标。无论我打开还是关闭此参数,我仍然会得到如下所示的相同图。
我认为不考虑参数会得到上面显示的图表,因为绿色是 Accent
的第一种颜色。如果我打开 direction = -1
参数,我希望 geom_line()
使用最后的 Accent
颜色,即深灰色,但事实并非如此。
如何正确反转色阶,让深灰色先出现?我知道我可以简单地使用 geom_line(aes(color = "dark grey"))
但我更愿意回答这个问题,而不是 'simplest solution'.
direction
参数采用分配给比例尺的颜色并翻转它们(因此分配给比例尺中最后一个值的颜色被分配给第一个值)。它不会更改为比例分配的 颜色。您看不到任何效果,因为颜色只有一个可能的值,因此反转比例不会导致任何变化。比较这两个例子:
ggplot(diamonds, aes(x = price, fill = cut)) +
geom_histogram(position = "dodge", binwidth = 1000) +
scale_fill_brewer(palette='Accent')
ggplot(diamonds, aes(x = price, fill = cut)) +
geom_histogram(position = "dodge", binwidth = 1000) +
scale_fill_brewer(palette='Accent', direction = -1)
您可以看到选择的颜色是相同的,只是它们分配给 cut
的顺序发生了变化。
如果要更改所选颜色的顺序,可以使用 scale_color_manual
,使用 brewer.pal
传入调色板,然后根据需要翻转 and/or 子集:
mtcars %>%
count(cyl) %>%
ungroup() %>%
ggplot(aes(cyl, n, color = "A")) +
geom_line(size = 2) +
scale_color_manual(values = rev(brewer.pal(8, 'Accent')))
library(tidyverse)
library(RColorBrewer)
mtcars %>%
count(cyl) %>%
ungroup() %>%
ggplot(aes(cyl, n, color = "A")) +
geom_line(size = 2) +
# scale_color_brewer(palette = "Accent", guide = "none") + # line 8
scale_color_brewer(palette = "Accent", direction = -1, guide = "none") +
NULL
我认为 ggplot 的 direction = -1
参数会反转色标。无论我打开还是关闭此参数,我仍然会得到如下所示的相同图。
我认为不考虑参数会得到上面显示的图表,因为绿色是 Accent
的第一种颜色。如果我打开 direction = -1
参数,我希望 geom_line()
使用最后的 Accent
颜色,即深灰色,但事实并非如此。
如何正确反转色阶,让深灰色先出现?我知道我可以简单地使用 geom_line(aes(color = "dark grey"))
但我更愿意回答这个问题,而不是 'simplest solution'.
direction
参数采用分配给比例尺的颜色并翻转它们(因此分配给比例尺中最后一个值的颜色被分配给第一个值)。它不会更改为比例分配的 颜色。您看不到任何效果,因为颜色只有一个可能的值,因此反转比例不会导致任何变化。比较这两个例子:
ggplot(diamonds, aes(x = price, fill = cut)) +
geom_histogram(position = "dodge", binwidth = 1000) +
scale_fill_brewer(palette='Accent')
ggplot(diamonds, aes(x = price, fill = cut)) +
geom_histogram(position = "dodge", binwidth = 1000) +
scale_fill_brewer(palette='Accent', direction = -1)
您可以看到选择的颜色是相同的,只是它们分配给 cut
的顺序发生了变化。
如果要更改所选颜色的顺序,可以使用 scale_color_manual
,使用 brewer.pal
传入调色板,然后根据需要翻转 and/or 子集:
mtcars %>%
count(cyl) %>%
ungroup() %>%
ggplot(aes(cyl, n, color = "A")) +
geom_line(size = 2) +
scale_color_manual(values = rev(brewer.pal(8, 'Accent')))