gpt4 book ai didi

r - ggplot 柱形图 - brewer 对象中的颜色顺序无效

转载 作者:行者123 更新时间:2023-12-04 11:36:59 24 4
gpt4 key购买 nike

我正在尝试更改 ggplot 柱形图上的颜色。谷歌搜索后,我认为以下代码可以工作:

require(ggplot2)
require(RColorBrewer)
State <- c(rep("NSWTC",5), rep("TCV",5), rep("QTC",5),
rep("WATC",5), rep("SAFA",5), rep("Other",5))

Year <- rep(c("11-12","12-13","13-14","14-15","15-16"),6)

##some random data
Funding.Programme <- abs(rnorm(30))

df <- data.frame(State, Year, Funding.Programme)

##this line makes the graph in the order you inputted it, rather than alphabetical
df$State <- factor(df$State, levels=unique(df$State))

##ugly coloured
bars <- ggplot(df) +
aes(x=Year ,y=Funding.Programme, fill=Year) +
geom_bar(stat='identity') +
facet_grid(facets=~State) +
scale_y_continuous('Gross Issuance Requirements')

##nicely coloured
blues <- brewer.pal(5, "Blues")
blues <- rev(blues)
##the following two graphs have the same colours
bars <- ggplot(df) +
aes(x=Year ,y=Funding.Programme, fill=Year) +
geom_bar(stat='identity') +
facet_grid(facets=~State) +
scale_y_continuous('Gross Issuance Requirements') +
scale_fill_brewer(blues)
bars
bars <- ggplot(df) +
aes(x=Year ,y=Funding.Programme, fill=Year) +
geom_bar(stat='identity') +
facet_grid(facets=~State) +
scale_y_continuous('Gross Issuance Requirements') +
scale_fill_brewer(blues.rev)
bars

##and this does not adjust the default colours
bars <- ggplot(df)+
aes(x=Year,y=Funding.Programme, fill=Year) +
geom_bar(stat='identity') +
facet_grid(facets=~State) +
scale_y_continuous('Gross Issuance Requirements') +
scale_colour_manual(values = blues.rev)
bars

但最后一种方法不起作用,尽管对象中的颜色顺序颠倒了,但生成的倒数第二个和倒数第三个图表是相同的。

最佳答案

你想要 scale_fill_manual(values = blues) 或相反 blues.rev (你实际上并没有在你的示例代码中创建,我认为这是一个错字).

只有在按名称选择默认调色板之一时才使用 scale_*_brewer。否则,请使用 scale_*_manual 进行此类操作。

最后一个不起作用,因为您使用的是颜色而不是填充。

最后,回车和制表符:爱它们,珍惜它们,使用它们!

关于r - ggplot 柱形图 - brewer 对象中的颜色顺序无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11217869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com