【matplotlib 库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。
【matplotlib 库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。
·
【matplotlib 库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。
【matplotlib 库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。
前言
要绘制雷达图,我们需要使用 matplotlib
库中的 polar
坐标系,并且使用不同颜色的线条代表四个数据集。这里是如何实现的:
完整代码示例
import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
# 数据集
data = {
'站点1': [0.82, 0.8, 0.78, 0.8],
'站点2': [0.91, 0.85, 0.84, 0.93],
'站点3': [0.85, 0.73, 0.74, 0.84],
'站点4': [0.88, 0.65, 0.61, 0.7],
'站点5': [0.79, 0.81, 0.78, 0.8],
'站点6': [0.85, 0.77, 0.75, 0.81]
}
# 站点名称和数据集数量
stations = list(data.keys())
n_stations = len(stations)
n_datasets = len(data[stations[0]])
# 将雷达图的角度均匀分配
angles = np.linspace(0, 2 * np.pi, n_stations, endpoint=False).tolist()
# 创建一个空的图表
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
# 颜色和标签
colors = ['b', 'g', 'r', 'c'] # 为4个数据集选择不同的颜色
labels = ['数据集1', '数据集2', '数据集3', '数据集4']
# 将数据集映射到雷达图
for i in range(n_datasets):
# 提取每个数据集的相关性系数
values = [data[station][i] for station in stations]
# 雷达图需要闭环,因此需要把第一个值加到末尾
values += values[:1] # 闭合数据点
angles_closed = angles + [angles[0]] # 闭合角度(确保角度数组也闭环)
# 绘制雷达图
ax.plot(angles_closed, values, color=colors[i], label=labels[i], linewidth=2)
ax.fill(angles_closed, values, color=colors[i], alpha=0.25) # 填充颜色
# 设置雷达图的刻度标签
ax.set_yticks(np.linspace(0, 1, 6)) # Y轴刻度从0到1之间均匀分布
ax.set_yticklabels([f'{i * 0.2:.1f}' for i in range(6)]) # 设置每个刻度的标签
ax.set_xticks(angles) # 角度刻度,去掉最后一个重复的角度
ax.set_xticklabels(stations) # 站点名称标签
# 添加标题
ax.set_title("站点相关性系数雷达图", size=16)
# 显示图例
ax.legend(loc='upper right', bbox_to_anchor=(1.2, 1.1))
# 显示图像
plt.tight_layout()
plt.show()
代码解释
-
数据集:输入的表格数据存储在字典 data 中,其中每个站点的相关性系数存储为一个列表,包含4个数据集的值。
-
角度分配:使用 np.linspace 均匀地将6个站点分布在360度内。
-
雷达图绘制:
使用ax.plot
绘制每个数据集的线条。
使用ax.fill
填充颜色来增强视觉效果。 -
坐标和标签设置:设置了Y轴的刻度和标签,X轴的标签为站点名称。
-
图例:图例展示了四个数据集的标签。
输出结果
- 该代码会输出一张雷达图,四条不同颜色的线分别表示四个数据集。每条线通过6个站点的相关性系数形成,且雷达图会清晰显示每个数据集在各个站点的表现。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)