Переместить легенду за пределы сюжета слева внизу (в R) - PullRequest
1 голос
/ 16 апреля 2020

Я использовал пакеты likert и ggplot2 для создания этого графика. Теперь я хотел бы переместить легенду внизу немного влево, так как последняя часть (полностью согласен) не показана на графике. К сожалению, я не смог найти решение до сих пор. Как я могу переместить / сместить легенду влево?

Link to the graph

Код:

plot(Likert_Uni_Study_Orientation_OF_V, low.color = "#007CC2", high.color = "#F7971C", neutral.color = "grey", neutral.color.ramp = "white", text.size=9) +
  theme(legend.text=element_text(size=24, margin = margin(r = 30, unit = "pt"))) + 
  theme(legend.direction = "horizontal", legend.position = "bottom") +
  theme(legend.title = element_blank()) +
  ggtitle("Uni Study Orientation – Only Fusha Learners") +
  theme(plot.title = element_text(hjust = 0.5, size =30)) + 
  theme(text = element_text(size = rel(6), color = "black"), axis.text.y = element_text(color = "black")) + 
  theme(axis.text.x = element_text(colour="black", size="30")) + 
  theme(axis.title.x = element_text(vjust=2, size=20, color = "black")) 

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Добавление к первому ответу для тех, кто также плохо знаком с R и нуждается в дополнительном объяснении

Это были мои шаги:

  1. Я запустил код в R. Первая строка содержит измененную ширину (и высоту). Во второй строке я поместил сюжет со всеми остальными функциями. Третья строка содержит dev.off (). Этот код сохраняет график в формате .png в папке на ноутбуке.
png("Likert_Uni_Study_Orientation_OF_V.png", width=990*2, height=800)
plot("Likert_Uni_Study_Orientation_OF_V, low.color = "#007CC2", high.color = "#F7971C", neutral.color = "grey", neutral.color.ramp = "white", text.size=10) +
  theme(legend.text=element_text(size=28, margin = margin(r = 30, unit = "pt"))) + 
  theme(legend.direction = "horizontal",legend.position = "bottom") +
  theme(legend.title = element_blank()) + 
  ggtitle("Uni Study Orientation – Only Fusha Learners") +
  theme(plot.title = element_text(hjust = 0.5, size =40)) +
  theme(text = element_text(size = rel(7.5), color = "black"), axis.text.y = element_text(color = "black")) +
  theme(axis.text.x = element_text(colour="black", size="30")) +
  theme(axis.title.x = element_text(vjust=2, size=20, color = "black"")
dev.off()
Мне нужно было выяснить, где R сохранил мой сюжет. Для этого я использовал только функцию поиска на моем ноутбуке. В моем случае это было сохранено в «My P C» -> «Documents».
0 голосов
/ 16 апреля 2020

Укажите более высокое значение для аргумента width при сохранении в файл.

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)

plot(l29)

enter image description here

Обратите внимание, как вырезана легенда. Теперь отправьте график в файл и измените значение по умолчанию для width (для png это 480). Вам может понадобиться несколько попыток, пока он не появится в правильном виде.

png("l29.png", width=480*1.6)
plot(l29)
dev.off()

enter image description here

Другой вариант - разместить легенду справа:

plot(l29, legend.position="right")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...