Python雷达图绘制解析
时间: 2023-11-05 21:08:58 浏览: 182
雷达图也称为极坐标图,是一种用于显示多个变量的图表。每个变量在图表中表示为一个轴,这些轴从图表的中心延伸出去,形成一个多边形。每个变量的取值通过多边形的边界表示。Python中有多个库可以用来绘制雷达图,包括matplotlib和plotly。
以下是一个使用matplotlib库绘制雷达图的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['体育', '音乐', '阅读', '旅游', '美食']
values = [3, 4, 2, 5, 4]
# 绘制雷达图
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, polar=True)
ax.plot(np.linspace(0, 2*np.pi, len(categories), endpoint=False), values)
ax.fill(np.linspace(0, 2*np.pi, len(categories), endpoint=False), values, alpha=0.3)
ax.set_thetagrids(np.linspace(0, 360, len(categories)+1)[:-1], labels=categories)
ax.set_ylim(0, 5)
plt.show()
```
该代码使用numpy生成0到2π之间的一组值,并将其用作雷达图的角度。然后,将值绘制到雷达图上,并使用fill函数填充多边形的内部。最后,使用set_thetagrids函数设置轴标签,使用set_ylim函数设置y轴范围,并使用show函数显示图表。
使用plotly库绘制雷达图的示例代码如下:
```python
import plotly.graph_objs as go
# 数据
categories = ['体育', '音乐', '阅读', '旅游', '美食']
values = [3, 4, 2, 5, 4]
# 绘制雷达图
fig = go.Figure(data=go.Scatterpolar(
r=values,
theta=categories,
fill='toself'
))
fig.show()
```
该代码使用plotly库中的Scatterpolar函数创建一个散点图,并将类别和值分别作为参数传递给r和theta参数。然后,使用fill参数填充多边形的内部,并使用show函数显示图表。
阅读全文