使用R中的网格图形系统制作可调整大小的图

时间:2011-02-11 01:42:41

标签: r graphics customization r-grid

最近我读到了R中的网格图形系统。它非常灵活,并且掌握了它应该能够制作非常复杂的图形。但是我没有找到任何好的地方可以让我绘制一个重新调整大小的图表?问题如下:如何在grid中使用R图形系统,以便最终输出实际可调整大小?

1 个答案:

答案 0 :(得分:4)

这样做的一种方法是不直接使用夹点绘图系统,而是使用lattice界面。据我所知,lattice包随R一起安装,并形成一个非常灵活的接口,用于底层Trellis图形,这些图形是基于网格的图形。 Lattice还允许您直接操作网格,因此实际上对于大多数复杂的图形来说都是您需要的。

如果您真的要使用网格图形系统本身,则必须使用正确的坐标系才能进行扩展。 “native”,“npc”(Normalized Parent Coordinates)或“snpc”(Square Normalized Parent Coordinates)允许您重新缩放图形,因为它们提供相对于当前视口的大小(或其一个方面)的坐标

为了充分利用这些,请确保您非常了解视口的概念。我不得不承认我还有很多需要了解的地方。如果你真的想继续下去,我可以推荐一下这本书R Graphics from Paul Murrell

仔细看看那本书的第5章。您还可以从示例的R代码中学到很多东西,这些代码也可以在this page

上找到

给你一个:

grid.circle(x=seq(0.1, 0.9, length=100), 
            y=0.5 + 0.4*sin(seq(0, 2*pi, length=100)),
            r=abs(0.1*cos(seq(0, 2*pi, length=100))))

完全可扩展。如果您查看grid.circle的帮助页面,就会找到default.units="npc"选项。这就是设置正确坐标系的地方。与

比较
grid.circle(x=seq(0.1, 0.9, length=100), 
            y=0.5 + 0.4*sin(seq(0, 2*pi, length=100)),
            r=abs(0.1*cos(seq(0, 2*pi, length=100))),
            default.units="inch")

不可扩展。