如何在Python Matplotlib中制作多边形雷达图?
要在Python中制作多边形雷达(蜘蛛)图,可以执行以下步骤-
步骤
-
设置图形大小并调整子图之间和周围的填充。
-
创建一个具有 体育运动 和 价值 列的Pandas数据框。
-
创建一个新的图形或激活现有图形。
-
作为子图排列的一部分,将 ‘ax’ 添加到图形中。
-
根据数据框的值,获取theta值。
-
获取数据框的值列表。
-
使用theta和值数据点制作一个条形图。
-
填充多边形之间的区域。
-
使用 show() 方法显示图形。
示例
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({'sports': ['力量', '速度', '力量', '敏捷', '耐力', '分析才能'], 'values': [7, 8, 6, 10, 8, 9]})
fig = plt.figure()
ax = fig.add_subplot(111, projection="polar")
theta = np.arange(len(df) + 1) / float(len(df)) * 2 * np.pi
values = df['values'].values
values = np.append(values, values[0])
l1, = ax.plot(theta, values, color="purple", marker="o", label="Name of values")
ax.tick_params(pad=10)
ax.fill(theta, values, 'green', alpha=0.3)
plt.show()
输出
它将生成以下输出 –