首页 > 解决方案 > 将图例外的图例移到底部左侧(在 R 中)

问题描述

我使用了 likert 和 ggplot2 包来创建这个图。现在,我想将底部的图例向左移动一点,因为最后一部分(强烈同意)未显示在图表中。不幸的是,到目前为止我找不到解决方案。如何将图例向左移动/移动?

链接到图表

编码:

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")) 

谢谢您的帮助!

标签: rggplot2positionlegendlikert

解决方案


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)

在此处输入图像描述

注意图例是如何被剪裁的。现在将绘图发送到文件并更改默认值width(对于 png,它是 480)。您可能需要进行一些试验,直到它看起来恰到好处。

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

在此处输入图像描述

另一种选择是将图例放在右侧:

plot(l29, legend.position="right")

推荐阅读