Как изменить текстовый шрифт, размер и цвет всех различных текстов в пакете R, Лайкерт?

На данный момент есть только функции для изменения шрифта процентов, но я хотел бы изменить шрифт, размер и цвет всего текста в гистограмме пакета Likert. Как мне это сделать?


person user3055869    schedule 05.12.2014    source источник


Ответы (1)


Вы делаете это почти так же, как ggplot: добавляя theme() опции. (По крайней мере, как вы все равно настроите вещи.)

Используя пример данных из ?likert

library("likert")
data(pisaitems)
items29 <- pisaitems[,substr(names(pisaitems), 1,5) == 'ST25Q']
names(items29) <- c("Magazines", "Comic books", "Fiction",
                    "Non-fiction books", "Newspapers")
l29 <- likert(items29)
summary(l29)

p1 <- plot(l29) # assign the plot to an object

# modify some stuff
p1 + theme(text = element_text(size = rel(6), colour = "red"),
           axis.text.y = element_text(colour = "blue",
                                      family = "Courier"))

В общем, вы можете посмотреть на возврат вызова темы, например. theme_bw() чтобы увидеть все, что можно изменить таким образом. Все, что установлено в коде plot.likert (например, цвет текста по оси Y), необходимо будет явно изменить, оно не будет наследоваться от более общего text. Если вы редактируете в основном текст, ?element_text, вероятно, будет полезен.

Также обратите внимание, что если вы используете настройку RStudio, семейство шрифтов может не изменить график в окне графика, но он будет работать, если вы экспортируете график в формате PDF. (По крайней мере, для меня в Windows.)

Если вы хотите изменить текст, который является частью сюжета (устанавливается geom_text), вам, вероятно, придется взломать функцию. Это все на github, так что просто сделайте свой собственный форк пакета.

person Gregor Thomas    schedule 05.12.2014
comment
Это было так быстро, спасибо. У меня немного крайний срок на работе, поэтому у меня не так много времени, чтобы понять, как все это работает. Как насчет изменения интерполированных цветов с нейтрального.color.ramp на настройку всех 5 цветов по отдельности. Есть идеи, как это будет работать? Спасибо еще раз - person user3055869; 05.12.2014
comment
Нвм, разобрался. + scale_fill_manual (значения = c (синий, синий, синий, синий, синий)) - person user3055869; 05.12.2014