如何在 Python Matplotlib 中制作多边形雷达(蜘蛛)图?

matplotlibpythondata visualization

要在 Python 中制作多边形雷达(蜘蛛)图,我们可以采取以下步骤 −

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个带有 sportsvalues 列的 Pandas 数据框。

  • 创建一个新图形或激活现有图形。

  • 'ax' 添加到图形作为子图排列的一部分。

  • 根据数据框值获取 theta 值。

  • 获取数据的值列表框架。

  • 使用 theta 和 values 数据点制作条形图。

  • 填充多边形之间的区域。

  • 要显示图形,请使用 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': ['Strength', 'Speed', 'Power', 'Agility', 'Endurance', 'Analytical Aptitude'], '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()

输出

它将产生以下输出 −


相关文章