1

ggplot2中,我们可以使用midpoint参数 in来设置分歧的中点,但是当我尝试使用来自诸如的scale_fill_gradient2()颜色主题时,这不存在ggthemesscale_fill_gradient2_tableau()

# A tibble: 6 x 2
  Year     Value
  <chr>    <dbl>
1 2002   0.0109 
2 2001  -0.0273 
3 2000   0.0113 
4 1999   0.0148 
5 1998   0.00841
6 1997   0.0361 

ggplot(df, aes(x = Year, y = Value)) +
  geom_col(aes(fill = Value)) +
  scale_fill_gradient2_tableau()

我希望中点为 0,但现在为 0.75。

在此处输入图像描述

4

1 回答 1

0

您可以通过指定与零距离相等的限制来将颜色条居中于零,例如

library(tidyverse)
#install.packages("ggthemes")
library(ggthemes)

Year <- list("2002", "2001", "2000", "1999", "1998", "1997")
Value <- list(0.0109, -0.0273, 0.0113, 0.0148, 0.00841, 0.0361)
df <- do.call(rbind, Map(data.frame, Year=Year, Value=Value))

ggplot(df, aes(x = Year, y = Value)) +
  geom_col(aes(fill = Value)) +
  scale_fill_gradient2_tableau(limits = c(-0.04, 0.04))

中点居中的示例图

于 2020-07-29T05:47:03.640 回答