2

我正在尝试使用 ggforce 来创建类似维恩的情节叠加,但是圆圈出来看起来非常可怕。是否有可能提高它们的平滑度?我尝试增加 n(点数),但这似乎没有任何区别。

jdCoords %>% ggplot(aes(x,y, label=word)) +
       coord_fixed() + 
       geom_circle(aes(x0 = 0, y0 = 0.5, r = 1.25), n=180, linetype="solid", size=1, inherit.aes = FALSE) +
       geom_circle(aes(x0 = 0.75, y0 = -1, r = 1.25), n=180, linetype="dotted",size=1,inherit.aes = FALSE) +
       geom_circle(aes(x0 = -0.75, y0 = -1, r = 1.25), n=180, linetype="dashed",size=1,inherit.aes = FALSE) +
       theme_bw() + 
       theme(panel.border = element_blank(), 
         panel.grid.major = element_blank(),
         panel.grid.minor = element_blank(), 
         axis.line = element_line(colour = "black"))

在此处输入图像描述

4

1 回答 1

5

这可能与您渲染/导出图形的方式有关。您能否提供有关您的平台/输出渠道的更多信息?(例如,您是否保存为 PNG、PDF、...?您是否将结果包含在 Word 文档中?)下面,我ggsave("circles.png", dpi=600)用来获得比通常分辨率更高的 PNG。

可重现的例子:

library(ggforce)
library(ggplot2)
ggplot() +
coord_fixed() + 
       geom_circle(aes(x0 = 0, y0 = 0.5, r = 1.25), n=180, linetype="solid", size=1, inherit.aes = FALSE) +
       geom_circle(aes(x0 = 0.75, y0 = -1, r = 1.25), n=180, linetype="dotted",size=1,inherit.aes = FALSE) +
       geom_circle(aes(x0 = -0.75, y0 = -1, r = 1.25), n=180, linetype="dashed",size=1,inherit.aes = FALSE) +
       theme_bw() + 
       theme(panel.border = element_blank(), 
         panel.grid.major = element_blank(),
         panel.grid.minor = element_blank(), 
         axis.line = element_line(colour = "black"))
ggsave("circles.png",dpi=600)

在此处输入图像描述

于 2019-11-18T15:34:52.877 回答