我想将直方图保存为.pdf但是当我这样做时并非所有x轴标签都可见。有没有办法自动调整绘图的大小,以便所有标签都很好地适合并且可以读取?非常感谢您的帮助!!
# Example data
dd <- iris
dd$Species <- as.character(dd$Species)
dd$Species[dd$Species=="setosa"] <- "setosa and more text that should also fit in the pdf"
dd$Species[dd$Species=="versicolor"] <- "versicolor and more text that should also fit in the pdf"
dd$Species[dd$Species=="virginica"] <- "virginica and more text that should also fit in the pdf"
dd$Species <- as.factor(dd$Species)
# Plotting & saving as .pdf
windows()
plot(dd$Species)
dev.copy(pdf, file="%/test.pdf") # % is the directory in my computer
dev.off()
答案 0 :(得分:3)
如果问题是您需要提供有关更多文字的每个标签的更多信息,您可以使用下一行
dd <- iris
dd$Species <- as.character(dd$Species)
dd$Species[dd$Species=="setosa"] <- "setosa is the name \n of iris-more text"
dd$Species[dd$Species=="versicolor"] <- "versicolor is the name \n of iris-more text "
dd$Species[dd$Species=="virginica"] <- "virginica is the name \n of iris-more text"
dd$Species <- as.factor(dd$Species)
plot(dd$Species)
答案 1 :(得分:1)
当您打印到pdf时,重要的是pdf的大小而不是绘图的大小,以使标签适合。换句话说,如果你使用
pdf("filename.pdf", width = W)
plot(dd$Species)
dev.off()
并且宽度参数W足够大,您应该得到一个pdf,其中条形足够宽,以便所有标签都可见。
然而,这可能不是美学上令人愉悦的,在这种情况下,您可能想尝试使用ggplot2。这样您就可以更轻松地使用标签了。例如,您可以将所有标签旋转一个角度,以便它们都能很好地适合
library(ggplot2)
ggplot(dd, aes(Species)) +
theme(axis.text.x = element_text(angle = 90)) +
geom_bar()
ggsave("filename.pdf")
您还可以调整标签字体的大小,或者使用图例(这可能是按顺序列出所有标签的更简洁的方式,如果有太多的话 - 您还可以为每个标签着色不同,如果您在fill = Species
中使用aes
。您可以通过键入?theme
了解如何设置这些参数,ggplot2也有很好的文档,其中有很多示例位于http://docs.ggplot2.org。