Пакет HH в R: граница вокруг ключа в графиках likert ()

Я рисую некоторые данные Лайкерта в виде расходящихся столбчатых диаграмм, но я не могу понять, как нарисовать границы вокруг клавиш в легенде в auto.key (показывая цвета для каждого элемента Лайкерта); HH основан на решетке, поэтому рисовать ордера вокруг столбцов на реальных графиках не проблема (см. Команду # ‹в приведенном ниже коде).

Итак, как мне нарисовать (черные) границы вокруг ключей в пакете HH (или сделать какой-то обходной путь решетки)?

Вот эквивалент кода, который я использую, с данными из таблицы ProfChal, часто используемыми в примерах HH:

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

Этот код создает график ниже, но я хочу, чтобы границы были также там, где указывает нижняя стрелка. (Рисование границ вокруг клавиш гистограммы кажется по умолчанию в решетке ...)

введите описание изображения здесь


person persboe    schedule 12.11.2020    source источник


Ответы (1)


Я наткнулся на решение указанной выше проблемы в документации HH-пакета, что в некотором роде иллюстрирует отсутствие удобства для чтения в некоторых из этих документов пакета 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())

Приведенный выше код создает график ниже (хотя и с другими цветами, чем в исходном графике):

введите описание изображения здесь

person persboe    schedule 13.11.2020