如何调整R语言ggforce包中geom_link函数绘制连线的大小
geom_link连线大小调整方案
你当前代码中把size参数映射到了stat(index),实现的是连线从起点到终点的大小渐变效果,对应不同需求可以用以下几种方案调整:
方案1:保留渐变效果,整体缩放连线粗细
直接对stat(index)乘以自定义缩放系数即可,系数越大整体连线越粗:
library(ggplot2) library(ggforce) ggplot(df) + geom_link(aes(x = x, y = y, xend = x2, yend = y2, alpha = 0.1, # 这里的3是缩放倍数,可根据需求自行调整 size = stat(index) * 3), lineend = "round") + # 不需要展示size、alpha图例可以直接隐藏 guides(size = "none", alpha = "none")
方案2:不需要渐变,设置固定粗细
如果不需要沿连线的大小变化,把size参数放到aes()外部设置固定值即可:
library(ggplot2) library(ggforce) ggplot(df) + geom_link(aes(x = x, y = y, xend = x2, yend = y2, alpha = 0.1), # 2为固定线宽,数值越大线越粗,可自行调整 size = 2, lineend = "round") + guides(alpha = "none")
方案3:自定义渐变的大小范围
如果需要精确控制渐变的最小、最大线宽,可以搭配scale_size_continuous()设置范围:
library(ggplot2) library(ggforce) ggplot(df) + geom_link(aes(x = x, y = y, xend = x2, yend = y2, alpha = 0.1, size = stat(index)), lineend = "round") + # 第一个参数是起点线宽,第二个是终点线宽,可自行调整 scale_size_continuous(range = c(0.5, 6)) + guides(size = "none", alpha = "none")
内容的提问来源于stack exchange,提问作者Hamza Ferchichi
相关产品推荐
相关产品推荐

