0

我使用 likert 包创建了一个发散条形图,并想更改颜色。我知道李克特图是 ggplot2 对象,因此添加 egscale_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

该代码生成此图:

4

1 回答 1

0

我已经制定了使用指定颜色而不是 RColorBrewer 的解决方案:

p1 = plot(likert(mass[,3:15]), colors = c("red", "pink", "green", "blue", "yellow"))
p1

现在将产生这个情节

如果有人有一个更优雅的解决方案可以允许使用 RColorBrewer 调色板,我也会有兴趣看到这一点。

谢谢

于 2021-04-23T10:59:09.547 回答