从ggplot2导出的PDF和EPS导致密度图中出现白线?帮忙删除?

时间:2014-10-13 23:45:26

标签: r ggplot2 density-plot

导出为PDF后,我不断获得这些白线。它们在R中不可见,但一旦导出就会显示。这似乎也是一个特定于mac的问题。导出到tiff时不会出现问题。

数据:

> dput(head(newdemodf1,10))
structure(list(x = c(21L, 22L, 22L, 22L, 22L, 22L, 22L, 22L, 
22L, 22L), y = c(27L, 26L, 27L, 28L, 29L, 30L, 31L, 34L, 35L, 
36L), totaltime = c(0.0499999523162842, 0.0499999523162842, 0.379999876022339, 
0.0500004291534424, 0.0299999713897705, 0.109999895095825, 0.0499999523162842, 
0.0299999713897705, 0.0500001907348633, 0.0299999713897705)), .Names = c("x", 
"y", "totaltime"), row.names = c(NA, 10L), class = "data.frame")

library(ggplot2)
library(RColorBrewer)

ggplot(newdemodf1) +
  stat_density2d(aes(x=x, y=y, z=totaltime, fill = ..density..), 
                 geom="tile", contour = FALSE) +
  scale_fill_gradientn(colours=cols) 

然后我导出到PDF导入adobe illustrator。但是,我得到的情节如下:

enter image description here

如何删除白线?这是否涉及平滑颜色?或以某种方式更换瓷砖?缺少x,y组合?任何帮助表示感谢。

1 个答案:

答案 0 :(得分:5)

这些白线通常是您正在使用的pdf查看器的人工制品;放大或缩小时,它们似乎可能会移动。

你可以尝试" raster"而不是" tile",它似乎可以更好地使用Illustrator。

enter image description here

set.seed(4393)
dsmall <- diamonds[sample(nrow(diamonds), 1000), ]
g1 <- ggplot(dsmall, aes(carat, price)) +
  stat_density2d(geom="tile", aes(fill = ..density..), contour = FALSE) 

g2 <- ggplot(dsmall, aes(carat, price)) +
  stat_density2d(geom="raster", aes(fill = ..density..), contour = FALSE) 

ggsave("g1.pdf",g1)
ggsave("g2.pdf",g2)