如何在ggradar雷达图中保持grid.min为0时增大内圈直径?
解决ggradar雷达图内圈直径增大的问题
要在保持grid.min=0且不修改grid.max=100的前提下增大雷达图内圈直径,关键是手动指定网格线的显示位置,让对应0的网格线远离中心。具体修改如下:
- 移除原代码中的
grid.min、grid.mid、grid.max参数 - 添加
gridlines指定网格线对应的数值(保留原有的0、50、100) - 添加
gridline.positions定义每条网格线的半径位置,将0对应的位置设为大于0的数值(比如0.2,可根据目标图调整)
修改后的完整代码:
ggradar(df.plot, gridlines = c(0, 50, 100), gridline.positions = c(0.2, 0.6, 1), # 调整0对应网格线的半径位置,数值越大内圈直径越大 background.circle.colour = "white", axis.line.colour = "gray60", gridline.min.colour = "gray60", gridline.mid.colour = "gray60", gridline.max.colour = "gray60", gridline.min.linetype = 1, gridline.mid.linetype = 1, gridline.max.linetype = 1, group.colours = lcols[1:nrow(df.plot)], legend.title = "Grupo", legend.position = "bottom", group.line.width = 2, group.point.size = 2, fill = TRUE, fill.alpha = 0.2, axis.label.offset = 1.2, gridline.label.offset = 15)
说明
gridline.positions的取值范围是0到1,其中1对应外圈(grid.max=100)- 你可以根据目标图的样式调整
0对应的位置数值(比如改成0.3),数值越大,内圈的直径就越大 - 数据的映射逻辑保持不变:0对应雷达图中心,100对应外圈,不影响与其他雷达图的对比
内容的提问来源于stack exchange,提问作者lrod1994
相关产品推荐
相关产品推荐

