如何保存levelplot()与合并的类似单元格

时间:2015-04-24 02:27:43

标签: r graphics spatial heatmap levelplot

假设我有一个像这样的轮廓的热图:

set.seed(1)
X <- matrix(runif(100*200),nrow=100)
X <- apply(X,1,sort)
#png("Surface.png",width=800,height=400)
lattice::levelplot(t(X),contour=TRUE)
#dev.off()
getwd()

它看起来像这样: An example contour/surface plot

有许多方法可以在R(fields::image.plot()image()等中制作变体。如果我将这个填充的等高线图保存为pdf,它会发出吱吱声 - 干净矢量图像我可以重新缩放并包含在会议海报中(例如,使用Inkscape)。在这种情况下,类似颜色的区域实际上是单独的栅格单元而不是合并的多边形,意味着大量的顶点,这些在海报中包含几个这样的表面之后,内存并减慢Inkscape。最简单的解决方案是从R中保存到理想的合并单元格格式,其中连续的相似颜色区域是统一/合并的polygon() s或类似的,从而将顶点的数量减少一个数量级或更多。

我的问题是,默认情况下是否存在一些表面功能,或者是一种模拟这种表面输出的低效方法。高努力的方法是深入研究R的空间函数以合并像单元格一样,但我宁愿避免这种情况。提前谢谢!

1 个答案:

答案 0 :(得分:1)

这是&#34;努力工作的方法&#34; (不是真的)

var firstbuffer = new ArrayBuffer(128);
var secondbuffer = new ArrayBuffer(128);

var onlyarray = new Float64Array(firstbuffer);