我有一个用ggplot2创建的图表,我想使用CairoPNG,因为尤其是在创建饼形图pngjpeg时,会创建一个非常像素化的图像。问题在于CairoPNG似乎会修改文本大小,因此,尤其是在图例中,一个键的文本与另一个键重叠,或者如上所示

library(ggplot2)
library(Cairo)

df <- data.frame(id=c("IMPORT VALUES YTD", "EXPORT VALUE YTD"),
                 value=c(6,4))

chart <- ggplot(df) +
  geom_bar(aes(x=factor(1), y=value, fill=factor(id)),
           stat="identity", width = 1, color="white") +
  coord_polar(theta="y")  +
  theme(legend.title=element_blank(),
        legend.position="top",
        legend.text=element_text(size=14))

CairoPNG("test1.png", 350, 400)
chart
dev.off()




png("test2.png", 350, 400)
chart
dev.off()




您知道如何避免这种情况吗?

最佳答案

这是一种改编自@rcs answer的解决方法。
添加到您的代码:

library(grid)


theme块中:

plot.margin = unit(c(0,2,0,0), "lines")

08-24 16:02