如何利用 Python Matplotlib 绘制多边形雷达(蜘蛛)图?


要在 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()

输出

它将生成以下输出 −

更新于: 2022-02-01

2000+ 已浏览

开启您的事业

完成课程以获得认证

开始
广告