我有一个用ggplot2
创建的图表,我想使用CairoPNG
,因为尤其是在创建饼形图png
和jpeg
时,会创建一个非常像素化的图像。问题在于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")