问题描述
我使用likert 包创建了一个发散的条形图,并想更改颜色。我知道likert图是ggplot2对象,因此添加例如scale_fill_brewer()
确实会改变颜色。但是,颜色按字母顺序应用到因子级别,而不是从“强烈不同意”到“强烈同意”的逻辑顺序,并且还会更改图例中的顺序。数据是数据框中的有序因子。
谁能解释如何在这些李克特图中更改颜色并指定顺序?我也试过 scale_fill_manual()
和 scale_fill_discrete()
。
library(likert)
library(RColorBrewer)
data("mass")
head(mass)
str(mass)
#FIND OUT THE COLUMN NUMBERS FOR ALL COLUMNS
data.frame(colnames(mass))
p1 = plot(likert(mass[,3:15]))+
scale_fill_brewer(palette = "Blues")
p1
That code generates this plot:
解决方法
我已经找到了一个使用指定颜色而不是 RColorBrewer 的解决方案:
p1 = plot(likert(mass[,3:15]),colors = c("red","pink","green","blue","yellow"))
p1
如果有人有更优雅的解决方案,允许使用 RColorBrewer 调色板,我也有兴趣看到。
谢谢