上期我们通过复现学习了如何绘制玫瑰图,感兴趣可戳往期《如何优雅绘制花瓣玫瑰图?》

如果想要将多个组别的花瓣图合并,在同一张图表中对这六个组别的数据进行多维度比较,可选择雷达图进行可视化呈现,如下图:

Nat Commun,2024)

雷达图又称为蜘蛛图,非常适合展示研究对象(单组或多组)在多个维度的属性值或得分,又或是用于展示不同样本、细胞亚群中目标基因的表达水平、微生物在不同环境中的丰度变化等等。

下面我们以上文雷达图复现为例,学习如何使用ggradar包绘制雷达图。案例数据来自文献源数据,有需要测试数据的童鞋可从文末【参考文献】处自行获取。

#相关R包安装与载入:
devtools::install_github('ricardo-bion/ggradar')
library(ggradar)

#载入本期测试数据:
dt <- read.csv('radar_test.csv', header = T, check.names = F)
dt[1:6,1:3]

#查看数据范围区间:
range(dt[,-1])
#单组雷达图绘制:
ggradar(dt[1,],
        grid.min = 11, #最小网格线椭圆对应数值
        grid.mid = 23.75, #中间网格线椭圆对应数值
        grid.max = 36.5) #最大网格线椭圆对应数值
##根据数据限制网格线数值范围,若数据不在区间内(默认0-1)会报错;
#多组雷达图绘制:
ggradar(dt,
        grid.min = 11,
        grid.mid = 23.75,
        grid.max = 36.5)
#雷达图参数优化:
mycol <- c('#cd4a33', '#eaa822', '#4ca7bd', '#88bd6d', '#354d7d', '#14927c') #自定义配色
dt$group <- factor(dt$group, levels = dt$group) #转化为因子,固定绘图顺序

ggradar(dt,
        grid.min = 5,
        grid.mid = 20.75,
        grid.max = 36.5,
        values.radar = NA, #不显示网格线椭圆对应数值,可不显示
        gridline.mid.colour = 'grey', #中间网格线颜色
        axis.label.size = 5.5, #文本标签大小
        group.colours = mycol,
        group.point.size = 4,#点大小
        group.line.width = 1, #线宽
        background.circle.colour = '#D7D6D1', #背景填充色
        background.circle.transparency = 0.2, #背景填充不透明度
        legend.position = 'bottom', #图例位置
        legend.text.size = 14 #图例标签大小
)

ggradar包中,只能添加三条背景椭圆网格线(等同于极坐标刻度),如果想像文献一样,显示多条网格,可后期在AI中添加。

打开AI(Adobe Illustrator),菜单栏文件—打开将上一步绘制好的雷达图(记得保存为矢量格式)导入AI。首先,使用直线段钢笔工具计算下两个网格间的直线距离(便于计算所需偏移量),使用直接选择工具,选中椭圆线,菜单栏选择对象—路径—偏移路径

根据所需要添加的椭圆线数量和直线距离计算需要的偏移量,点击确定即可。

最终效果如下:

好啦,今日分享毕!

图片

参考文献

Yang, X., Xiong, J., Du, T. et al. Diversifying crop rotation increases food production, reduces net greenhouse gas emissions and improves soil health. Nat Commun 15, 198 (2024).

#artContent h1{font-size:16px;font-weight: 400;}#artContent p img{float:none !important;}#artContent table{width:100% !important;}