ggplot geom_bar() 填充图上的不着色条

ggplot geom_bar() fill not coloring bars on plot

在 geom_bar 上使用填充参数不会为我的图上的条形图着色。我正在使用泰坦尼克号数据集 here.

中的 train.csv
passengers <- read.csv('../input/train.csv')

我试过将填充移到 aes() 之外,尝试将 aes 移到 ggplot() 函数。

这是我在泰坦尼克号数据集上使用的代码

ggplot(data = passengers) + 
    geom_bar(mapping = aes(x=Survived, fill = Pclass))

这是我用作模板的代码,它在内置钻石数据的 ggplot 上运行良好。

ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut, fill = cut))

我一直在使用 Pclass 作为填充,使用 geom_bar 获得带有 Survived 的灰色条。

这对我有用:

ggplot(data = passengers) + 
   geom_bar(mapping = aes(x=Survived, fill = as.character(Pclass)))

你可以试试as.factor()

ggplot(data = passengers) + 
geom_bar(mapping = aes(x=Survived, fill = as.factor(passengers$Pclass)))

可能你的变量不是因素