将像素图像转换为ggplot中的可缩放矢量图形

时间:2017-01-19 16:02:32

标签: r ggplot2 vector-graphics smoothing

请注意,我对任何类型的插值算法都不感兴趣,你可以扩展像素数量并插入新值。

我想离开基于像素的图像世界,我正在寻找一些可扩展的矢量图像解决方案。

有没有办法将ggplot中的像素图像转换为彩色网格平滑矢量图形?

以下图片展示了我的目标。

enter image description here

然后将其弄平。

enter image description here

图片来自以下维基百科文章HERE

请注意,文章中的原始图像是SVG文件。您可以根据需要放大,并且始终具有平滑的颜色过渡和无边缘。

一些其他图片和信息:HERE2

以下是满足第一张图像“最近”

的一些示例数据
library(ggplot2)
n = 5
pixelImg <- expand.grid(x=1:n,y=1:n)
pixelImg$value <- sample(1:n^2,n^2,replace = T)

ggplot(pixelImg, aes(x, y)) +
  geom_raster(aes(fill = value)) +
  scale_fill_gradientn(colours=c("#FFCd94", "#FF69B4", "#FF0000","#4C0000","#000000"))

如果不是在ggplot中有没有办法在ggplot之外做到这一点?

1 个答案:

答案 0 :(得分:0)

查看ggsave()函数。它支持矢量图形的.svg个文件。