如何让ggforce包geom_link绘制的路径颜色过渡更平滑?
问题原因
geom_link默认的路径分段数为n=50,当你同时将alpha、size映射到路径位置参数stat(index)时,过低的分段数会导致相邻段的参数差过大,出现肉眼可见的锯齿和过渡断层。
代码解决方案
- 调高
geom_link的分段数参数n,建议设置为100~500区间即可获得流畅的过渡效果,数值越高过渡越平滑,仅会小幅增加绘制耗时。修改后的代码如下:
library(tidyverse) library(ggforce) dat <- data.frame( team = paste("Team", LETTERS[1:10]), x1 = runif(10, -0.2, 0.3), x2 = runif(10, -0.2, 0.3), y1 = runif(10, -0.2, 0.3), y2 = runif(10, -0.2, 0.3), col = c("#690014", "#03244d", "#004834", "#001E4C", "#000000", "#c41230", "#CC0000","#000000", "#005DAA", "#00274c") ) ggplot(dat) + geom_link(aes(x = x1, xend = x2, y = y1, yend = y2, colour = col, alpha = stat(index), size = stat(index)), n = 200, # 新增参数调整分段数 show.legend = FALSE) + scale_colour_identity()
- 导出结果时调高输出分辨率,保存为png格式时设置
dpi=300或更高,可进一步弱化显示锯齿。
内容的提问来源于stack exchange,提问作者user13973103
相关产品推荐
相关产品推荐

