小编woo*_*dvi的帖子

有没有办法将grob直接保存到rasterGrob?

我正在绘制几个ggplot2对象并将它们置于grid.arrange内部调用'pdf'设备.我发现如果我首先光栅化这些图表,PDF的性能会提高十亿倍(生成速度更快,渲染速度更快).所以在一个并行dlply循环中,我正在使用ggsave将其ggplot2作为PNG 编写,然后使用readPNG它来重新读取并rasterGrob转换为返回它dlply.在dlply将其放入一个列表grobs,其grid.arrange然后绘制到PDF设备.

其中一些似乎不实用,所以一般来说,有更好的方法吗?但真正让我感到困惑的是将PNG写入磁盘,而我所做的就是将它们读回来.有没有办法将grob直接保存到rasterGrob?

plot.list <- dlply( ... {
        ggsave(filename= fname
               ,plot= my.plot
               ,device= "png" 
               ,scale = 1, width= 1.1, height= 2.125, units = "in" 
               ,dpi = dpi)

        # return it as a list of rasters
        rasterGrob(readPNG( source= fname, info= TRUE))
}
Run Code Online (Sandbox Code Playgroud)

pdf r rasterizing ggplot2 grob

6
推荐指数
1
解决办法
168
查看次数

使用 jsonlite 将 R 中的未命名列表写入 json 数组

我正在向想要使用http://json2csharp.com/将数据字符串转换为对象数组的C# 开发人员发送数据。我认为 jsonlite 包对此有好处,但他没有得到他想要的结果,当我检查生成的输出时,它并不是我所期望的。我对这种情况的解释是生成的输出

x <- list( 
  a=list( a=1,b='x',c=list("Foo","Bar"), d=as.Date("2015-01-01") ),
  b=list( a=2,b='y',c=list("Hello","World"), d=as.Date("2014-12-31") ),
  c=list( a=3,b='z',c=NULL, d=as.Date("2016-02-29") )
)
toJSON(x, pretty = FALSE )
Run Code Online (Sandbox Code Playgroud)

曾是

{"a":{"a":[1],"b":["x"],"c":[["Foo"],["Bar"]],"d":["2015-01-01"]},"b":{"a":[2],"b":["y"],"c":[["Hello"],["World"]],"d":["2014-12-31"]},"c":{"a":[3],"b":["z"],"c":{},"d":["2016-02-29"]}} 
Run Code Online (Sandbox Code Playgroud)

它将所有子元素数据放入列表中,同时将父命名列表视为命名元素的对象。R 没有与 JSON 设计的相同类型的类型,所以这可能是 toJSON 的预期行为,但我想要更像

[{"a":1,"b":"x","c":["Foo","Bar"],"d":"2015-01-01"},{"a":2,"b":"y","c":["Hello","World"],"d":"2014-12-31"},{"a":3,"b":"z","c":{},"d":"2016-02-29"}] 
Run Code Online (Sandbox Code Playgroud)

如何将 R 中的列表写入 jsonlite 中的 JSON 数组?

json r list jsonlite

2
推荐指数
1
解决办法
1916
查看次数

标签 统计

r ×2

ggplot2 ×1

grob ×1

json ×1

jsonlite ×1

list ×1

pdf ×1

rasterizing ×1