我有这个情节,我想保存为PDF。
pdf(file="pie_charts.pdf", width=8, height=5, onefile=F)
layout(matrix(c(1,2,3,3), ncol=2, byrow=TRUE), heights=c(4, 1))
par(mar=c(0,0,0,0), xpd=TRUE)
pie(c(1,9),col=c("black","white"))
pie(c(1,3),col=c("black","white"))
plot.new()
legend(x="center", ncol=2,legend=c("Black","Whtie"),fill=c("black","white"), bty = "n",cex=1.3)
dev.off()
这就是我得到的
它看起来很不错,但我想在各个饼图之间以及它们和图例之间消除尽可能多的空白空间。有什么建议吗?
答案 0 :(得分:3)
使用%20
,我认为您可能会因为更改边距以挤压饼图而受到限制。
这不是一个优雅的解决方案,但它的工作原理。我进入layout()
函数并修改了pie()
个参数。这是我唯一的改变。
换句话说,xlim
在其功能中有这个:
pie
更改xlim <- ylim <- c(-1, 1)
以向左或向右移动饼图。
我制作了xlim
和mypieleft()
。
mypieright()
和
mypieleft<-function(blah blah){
[untouched code from pie]
# xlim <- ylim <- c(-1, 1)
xlim <- c(-1.20, 0.80)
ylim <- c(-1, 1)
[untouched code from pie]
}
然后稍微更改您的代码:
mypieright<-function(blah blah){
[untouched code from pie]
# xlim <- ylim <- c(-1, 1)
xlim <- c(-0.75, 1.25)
ylim <- c(-1, 1)
[untouched code from pie]
}
我得到了这张照片。
答案 1 :(得分:2)
只需增加馅饼的radius
:
layout(matrix(c(1, 2, 3, 3), ncol=2, byrow=TRUE), heights=c(4, 1))
par(mar=c(0, 1, 0, 0)) # increase left margin to accommodate text
pie(c(1, 9), col=c("black","white"), radius=1)
par(mar=c(0, 0, 0, 1)) # increase right margin to accommodate text
pie(c(1, 3), col=c("black", "white"), radius=1)
plot.new()
legend(x="center", ncol=2, legend=c("Black", "White"),
fill=c("black", "white"), bty="n", cex=1.3)
请参阅radius
的{{1}} arg。