0

我将一些李克特数据绘制为发散的堆叠条形图,但我无法弄清楚如何在 auto.key 中的图例中的键周围绘制边框(显示每个李克特项目的颜色);HH 是基于 lattice 的,因此在实际绘图中围绕条形绘制命令是没有问题的(参见下面代码中的“# <-”命令)。

那么如何在 HH 包中的键周围绘制(黑色)边框(或制作某种格子解决方法)?

这是我正在使用的代码的等效代码,其中数据来自 HH 示例中经常使用的“ProfChal”表:

data("ProfChal")
likert(Question ~ . , ProfChal[ProfChal$Subtable=="Employment sector",],
       ylab=NULL,
       main = "",
       auto.key = list(columns = 1, reverse.rows = T),
       as.percent = T,
       borders = list()) # <- This draws borders around the bars in the plot

这段代码制作了下面的图,但我希望在底部箭头指向的地方也有边框。(在条形图键周围绘制边框似乎是格子中的默认设置......)

在此处输入图像描述

4

1 回答 1

0

我在HH-package 文档中偶然发现了上述问题的解决方案,这在某种程度上说明了这些 R 包文档中的一些缺乏读者友好性......

可以在rect= list(col= col, border = "black"))里面添加auto.key。但是,似乎必须明确指定键的颜色;如果一个人只写border = "black",整个钥匙都是黑色的……

请参阅下面代码中的解决方案。

 data("ProfChal")
 likert(Question ~ . , ProfChal[ProfChal$Subtable=="Employment sector",],
       ylab=NULL,
       main = "",
       col=c("#E94E1B", "#F7AA4E", "grey", "#6193CE", "#00508C"), # <- Specify colors (for bars in the plot)
       auto.key = list(columns = 1,reverse.rows = T,
                    reverse.rows = T,
                    rect= list(col=c("#E94E1B", "#F7AA4E", "grey", "#6193CE", 
                    "#00508C"), # <- Specify colors again (for keys)
                    border = "black")), # <- Adds border around the keys
       as.percent = T,
       borders = list())

上面的代码绘制了下面的图(尽管使用了与原始图中不同的颜色):

在此处输入图像描述

于 2020-11-13T08:47:00.077 回答