【问题标题】:Save plot as SVG removing stroke on filled symbols将绘图另存为 SVG 删除填充符号上的笔划
【发布时间】:2019-03-11 04:06:20
【问题描述】:

我一直在 ggplot2 中使用填充符号,并且在导出到 png 时从未遇到任何问题。但是,当我导出到 svg 时,对于某些形状(三角形和菱形),符号的一侧没有笔划。

这最初是在我绘制一些地图时发生的,所以我试图用简单的示例图来复制这个问题 - 它仍然在发生。我无法理解是什么导致符号的一侧像这样消失。这是我在导出为 svg 时未能指定的内容吗?还是某处有错误?任何帮助将不胜感激。

这是一个例子:

以及创建此图像的代码:

library(tidyverse)

plot = 
  data_frame(x = 1:5, y = 1:5, group = c("tri", "sq", "tri", "sq", "dia")) %>%
  ggplot(aes(x,y, shape = group)) +
  geom_point(fill = "red", colour = "black", size = 4) +
  scale_shape_manual(values = c(23,22,24)) +
  theme_bw()

plot %>% ggsave("test.svg", ., height = 10, width = 10, units = "cm")

注意:我曾尝试直接使用svglite() 导出 - 发生同样的事情。

【问题讨论】:

  • 这不是一个合适的解决方案,但您可以打印两层的点。覆盖将被定义为fill = NA,因此笔画将被正确保存。

标签: r svg ggplot2 symbols


【解决方案1】:

【讨论】:

  • 太棒了,谢谢!就是这样。当前的解决方法似乎只是使用默认的svg() 来保存绘图
猜你喜欢
  • 1970-01-01
  • 2019-06-27
  • 2014-04-13
  • 1970-01-01
  • 2012-12-27
  • 2012-07-23
  • 1970-01-01
  • 2022-10-07
  • 2019-03-07
相关资源
最近更新 更多