如何在 Python Matplotlib 中制作多边形雷达(蜘蛛)图?
matplotlibpythondata visualization
要在 Python 中制作多边形雷达(蜘蛛)图,我们可以采取以下步骤 −
步骤
设置图形大小并调整子图之间和周围的填充。
创建一个带有 sports 和 values 列的 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()
输出
它将产生以下输出 −