我想在ggplot中仅着色一个条形。这是我的数据框:
area <- c("Północ", "Południe", "Wschód", "Zachód")
sale <- c(16.5, 13.5, 14, 13)
df.sale <- data.frame(area, sale)
colnames(df.sale) <- c("Obszar sprzedaży", "Liczba sprzedanych produktów (w tys.)")
绘图的代码:
plot.sale.bad <- ggplot(data=df.sale, aes(x=area, y=sale, fill=area)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("black", "red", "black", "black")) +
xlab(colnames(df.sale)[1]) +
ylab(colnames(df.sale)[2]) +
ggtitle("Porównanie sprzedaży")
我希望只有一个棒柱被着色,其他三个保持默认颜色(深灰色,而不是黑色,因为黑色对我来说看起来很糟糕)。 我该如何改变仅一个棒柱的颜色或获取棒柱默认颜色的名称以将其替换为黑色?
fill
映射到'area',为什么要在aes
中使用它?更好的方法可能是向数据框添加一个变量,反映您希望映射到fill
的条件。但您需要更清楚地描述您的目标。 - Henrikscale_fill_manual
是完美的选择。如果您想以更“程序化”的方式进行操作,则需要提供一些指标(计算、cut
范围等),以便确定哪个柱形图应该是不同的颜色。对于您的示例,是什么条件表明Południe
应该是红色的? - hrbrmstr