在RStudio中,scale_fill_brewer()创建灰色条作为默认条形图,而不是蓝色范围

时间:2018-07-26 22:09:48

标签: r rstudio

我正在尝试使用RStudio软件包scale_fill_brewer()中的Vocab数据集,使用car为条形图着色。

library(tidyverse)
library(car)
library(RColorBrewer)

# An ordinal dataset
ggplot(Vocab, aes(x = education, fill = vocabulary)) +
 geom_bar(position = "fill") +
 # Use the default brewed color palette
 scale_fill_brewer()

通过DataCamp使用在线R会话,我可以生成以下内容: default RColorBrewer palette is "Blues"

由于RColorBrewer调用的默认scale_fill_brewer()调色板是“蓝色”,因此我希望能在桌面上看到上面的图。但是,当我将上述代码传输到Windows 10上的RStudio时,ggplot2会生成以下内容:grey bars instead of blue gradation

我试图通过以下方法纠正该图:     #定义RColorBrewer包中的一组蓝色     布鲁斯<-brewer.pal(9,“布鲁斯”)

# Make a color range using colorRampPalette()
blue_range <- colorRampPalette(blues)

# Use blue_range to adjust the color of the bars
ggplot(Vocab, aes(x = education, fill = vocabulary)) +
  geom_bar(position = "fill") +
  scale_fill_manual(values = blue_range(11))

此代码块应生成条形图that looks like this。但是,事实并非如此。所有的酒吧仍然是灰色的。

我不明白为什么此代码在联机R会话上有效,但在我自己的个人RStudio会话中无效。帮助吗?

1 个答案:

答案 0 :(得分:1)

使用fill = factor(vocabulary)

library(tidyverse)
library(car)
library(RColorBrewer)

blues <- brewer.pal(9, "Blues")
blue_range <- colorRampPalette(blues)

ggplot(Vocab, aes(x = education, fill = factor(vocabulary))) +
  geom_bar(position = "fill") +
  scale_fill_manual(values = blue_range(11))