雷达图(Radar Chart)是一种用于对比多个参数的图表,它以圆形为基础,展示了不同要素之间的相对比例和变化趋势。在数据可视化和数据分析中,雷达图常常被用来显示多个指标的相对强弱和关联程度,帮助用户更好地理解数据。
一、使用Matplotlib绘制基础雷达图
1、导入相关库
import numpy as np
import matplotlib.pyplot as plt
2、准备数据
# 参数个数
N = 5
# 随机生成数据
values = np.random.randint(low=0, high=10, size=N)
# 分割圆周
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
# 闭合
values.append(values[0])
angles.append(angles[0])
3、绘制雷达图
# 设置坐标轴的文字描述
plt.xticks(angles[:-1], ['A', 'B', 'C', 'D', 'E'])
# 绘制折线图
plt.plot(angles, values, 'o-')
# 填充颜色
plt.fill(angles, values, alpha=0.25)
# 设置雷达图的范围
plt.ylim(0, 10)
# 显示图表
plt.show()
二、美化雷达图
1、调整雷达图的背景颜色和线条样式
# 调整背景颜色
plt.gca().set_facecolor('#f5f5f5')
# 隐藏坐标轴
plt.axis('off')
# 调整线条样式
plt.plot(angles, values, 'o-', linewidth=2, color='#ff5722')
plt.fill(angles, values, alpha=0.25, color='#ff5722')
2、添加标题和图例
# 添加标题
plt.title('雷达图示例', fontsize=14)
# 添加图例
plt.legend(['数据'], loc='upper right')
3、设置数据点和填充颜色
# 设置数据点的样式和大小
plt.plot(angles, values, 'o-', linewidth=2, color='#ff5722', markersize=8)
# 设置填充颜色和透明度
plt.fill(angles, values, alpha=0.25, color='#ff5722')
三、使用Pandas绘制多组数据的雷达图
1、导入相关库
import pandas as pd
2、准备数据
# 创建多组数据
data1 = np.random.randint(low=0, high=10, size=N)
data2 = np.random.randint(low=0, high=10, size=N)
data3 = np.random.randint(low=0, high=10, size=N)
# 创建数据框
df = pd.DataFrame([data1, data2, data3], columns=['A', 'B', 'C', 'D', 'E'])
3、绘制雷达图
# 创建角度
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles.append(angles[0])
# 绘制雷达图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
for i in range(len(df)):
values = df.iloc[i].tolist()
values.append(values[0])
ax.plot(angles, values, 'o-', linewidth=2, label=df.index[i])
ax.fill(angles, values, alpha=0.25)
plt.legend()
plt.show()
四、应用示例
1、使用雷达图对比多个城市的气温变化。
2、利用雷达图展示多个学科的考试成绩。
3、通过雷达图比较不同产品的市场份额。
五、总结
本文介绍了使用Python绘制雷达图的方法,包括使用Matplotlib绘制基础雷达图,美化雷达图的样式,使用Pandas绘制多组数据的雷达图,并给出了一些应用示例。雷达图可用于对比多个参数的相对强弱和关联程度,对于数据可视化和数据分析具有很大的帮助。
希望本文能够帮助读者理解和应用雷达图,并在实际工作和学习中发挥作用。
原创文章,作者:RTGU,如若转载,请注明出处:https://www.beidandianzhu.com/g/1605.html