使用 alpha 时,ggplot PDF 导入到 Inkscape 会向 geom_point 点添加额外的空心圆圈

ggplot PDF import to Inkscape adds extra hollow circles to geom_point dots when using alpha

导入.pdf格式的ggplot图形时,如何防止Inkscape在使用alpha(透明度)时向geom_point()点添加额外的圆圈?

做图:

ggplot(mtcars,aes(wt,mpg)) + geom_point(alpha=0.5)

另存为 PDF:

ggsave('inkscape_bug.pdf')

我得到了这些完美平滑的半透明圆圈(生成的 .pdf 文件的缩放屏幕截图):

但是当我导出到Inkscape时,除了半透明的全圆圈之外,顶部还出现了更小更暗的空心圆圈:

试过:这可能是重复的(我不敢相信以前没有其他人遇到过这个问题)但是我找不到正确的关键字来找到正确的线程。 The only thing I can find is to add useDingbats=FALSE,但即使这样也不能解决这个问题。

我还尝试在导入到 Inkscape 时更改选项(Popper/Cairo importInternal import、[未选中] Replace PDF fonts by closest-named installed fontsEmbed images),改为不有用。有趣的是,如果我另存为 .svg 而不是 .pdf,我会直接得到相同的结果(无需导出到 Inkscape 或任何其他软件)。是不是很奇怪?

问题: 1)为什么会这样? 2) 如何预防?

在 geom_point 中使用 shape = 16。默认的ggplot点形状是19,有边框。

对于使用 ggsave 命令从 ggplot2 导出 .png 图像的任何人:上面 Dan Slone 的回答解决了当 alpha < 1 时“边界”点的类似问题。使用 shape = 16.