我正在尝试使用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会话中无效。帮助吗?
答案 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))