如何利用 Python Matplotlib 绘制多边形雷达(蜘蛛)图?
要在 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()输出
它将生成以下输出 −
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP