PYTHON绘制雷达图代码实例
什么是雷达图?
雷达图,又称为蜘蛛网图、极坐标图,是用于展示多维度数据的图表类型。雷达图通常由多个包围在同一圆心的“蛛网线”组成,并在这些线的交点上描绘出数据点,从而形成一个多边形。
绘制雷达图代码
在PYTHON中,我们可以使用matplotlib库来绘制雷达图。下面给出一个完整的绘制雷达图的代码实例:
import matplotlib.pyplot as plt
import numpy as np
data = np.array([[5, 3, 4, 3, 5], [4, 5, 4, 4, 3], [2, 4, 5, 4, 2], [3, 3, 3, 5, 4], [5, 2, 3, 3, 5]])
angles = np.linspace(0, 2 * np.pi, 5, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
for i in range(data.shape[0]):
ax.plot(angles, data[i, :], 'o-', linewidth=2, label="group %d" % (i + 1))
ax.set_thetagrids(angles * 180 / np.pi, ['A', 'B', 'C', 'D', 'E'])
ax.grid(True)
plt.legend(loc='lower right')
plt.show()
在上述代码中,我们通过numpy库生成了一个二维数组data,用于存储雷达图中每个数据点对应的数据值。我们还通过np.linspace()函数生成一个一维数组angles,用于指定雷达图中每个蛛网线角度的值。
接着,我们使用matplotlib库中的函数定义一个具有极坐标的figure,使用for循环依次绘制每一组数据的“蛛网线”和数据点,并使用ax.set_thetagrids()函数指定角度标签,最后通过plt.legend()函数添加图例并通过plt.show()函数展示结果。
绘制多组数据的雷达图
除了绘制单一数据组的雷达图,我们还可以使用相同的方法绘制多组数据的雷达图。下面给出一个绘制两组数据的完整代码实例:
import matplotlib.pyplot as plt
import numpy as np
data1 = np.array([5, 3, 4, 3, 5])
data2 = np.array([4, 5, 4, 4, 3])
angles = np.linspace(0, 2 * np.pi, 5, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, data1, 'o-', linewidth=2, label="group 1")
ax.fill(angles, data1, alpha=0.25)
ax.plot(angles, data2, 'o-', linewidth=2, label="group 2")
ax.fill(angles, data2, alpha=0.25)
ax.set_thetagrids(angles * 180 / np.pi, ['A', 'B', 'C', 'D', 'E'])
ax.grid(True)
plt.legend(loc='lower right')
plt.show()
在上述代码中,我们为了简化数据处理,将每个数据组的数据都单独存储在一个numpy数组中。此外,我们还使用了ax.fill()函数对每个多边形所在的区域进行了填充,提高了可读性。
总结
通过上述两个代码实例,相信大家已经对如何使用PYTHON绘制雷达图有了一个初步的了解。当然,这只是雷达图绘制的基础,在实际使用中还可以对图表进行更多的个性化设置,例如更改颜色、线型、添加轴标签等。希望通过本文的介绍,对大家带来一些启发与帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PYTHON绘制雷达图代码实例 - Python技术站