【问题标题】:Issues with adding a Line and arrow添加线和箭头的问题
【发布时间】:2021-01-18 11:10:33
【问题描述】:

我正在尝试添加文本、线条和箭头来突出显示我的情节中的某个事件。我按照我找到的示例进行操作,确实得到了一个箭头和一条线,但是质量看起来很差。线条应平滑且箭头锋利。

我在这里使用annotate() 表示线条、箭头和文本。

  annotate(
    "text", x="feb 2020", y=173000, label = "Text", vjust =1, size =4, col="#535353")+
  
  annotate(
    "curve", x="feb 2020", y=175000, xend="mrt 2020", yend=200000,
    arrow= arrow(length= unit(0.2, "cm"), type = "closed" ), col="#535353", curvature=-0.4, size=1
  )

我也尝试使用geom_curve() 进行类似设置,结果也好不到哪里去。

提前致谢!

【问题讨论】:

  • 这很可能“只是”您的设备如何显示这些线条的问题,并且与抗锯齿有关。非常相关:stackoverflow.com/q/6023179/7941188。您能否提供更多信息:您使用什么设备?在更正常的语音中:这是在您的绘图预览窗口中看到的,例如,在 RStudio 中,还是保存文件的屏幕截图,pdf 或 jpeg,或 png...
  • 同样重要——你使用的是 windows 还是 Mac...
  • 我同意 Tjebo 的观点,认为这可能是设备问题。尝试使用 ragg 包渲染相同的图,看看是否有帮助,它非常擅长抗锯齿。

标签: r ggplot2


【解决方案1】:

这可能取决于设备。比较和对比 Windows 上的默认 png() 设备与 ragg::agg_png() 设备。后者具有更好的抗锯齿特性。

虚拟情节:

library(ggplot2)

plt <- ggplot() +
  geom_curve(aes(x = 1, y = 1, xend = 2, yend = 2),
             curvature = 0.2,
             arrow = arrow(type = "closed"))

默认windows png设备:

png("default_windows.png", width = 200, height = 200)
print(plt)
dev.off()

使用 ragg 包:

ragg::agg_png("ragg_windows.png", width = 200, height = 200)
print(plt)
dev.off()

【讨论】: