保存文件后图表被截断

7

我的图表在外面有一个大的图例,有6行长描述。当我保存它时,图例没有显示出来。我调整了par,但仍然不起作用。

legend("topright", inset=c(-0.6,0),xpd=TRUE,cex=0.8,
+legend=c("A_all peaks","B_ from all peaks","C_from all peaks","A_from unique peaks",
+"B_from unique peaks","C_from unique peaks",
+"A_from overlap peaks","B_from overlap peaks","C_from overlap peaks"),
+col=c("green","red","blue","lightgreen","pink","lightblue","darkgreen","darkred","steelblue"),
+pch=c(20,20,20,20,20,20,20,20,20),bty="n")

> par()$oma
[1] 2 2 2 2 
> par()$mar
[1] 5.1 4.1 4.1 8.0

当宽度很长(尝试了800、1000像素)时,没有图例显示。但是当宽度较短时,部分图例显示。这真的让我感到困惑。第一个图是500*333,第二个图是500*800。

输入图像描述输入图像描述

3个回答

1

不确定您是如何将图形保存到文件的,但我的常规做法是通过通常的方式在R中制作漂亮的图形:

plot(blah,blah,blah)
legend(blah,blah,blah)

然后,一旦我对 R 控制台中图形的外观感到满意,我就使用 pdf() 或其它方法(如 jpeg()tiff() 等)将其保存到文件中,并确保设置宽度和高度参数,如下所示:

# set up plotting device
pdf( {{FileName}}, 
   width = par('din')[1],
   height = par('din')[2])

plot(blah,blah,blah)
legend(blah,blah,blah)

# disconnect the plotting device
dev.off()

1
你能解释一下这是如何解决问题的吗?我刚试图实现你的代码,但仍然出现了被截断的图例。 - user5930691
他们正在使用 R 视图器来设置尺寸,然后使用相同的尺寸保存 PDF。par('din') 是只读的,因此需要从 dev.size('in') 获取尺寸。 - MilleCodex

1

使用png()tiff()保存:

tiff("filename",

<code for plot>,
height=5,width=7)
dev.off()

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接