用python简单绘制雷达图
时间: 2023-07-12 12:28:54 浏览: 114
好的,以下是一个简单的用Python绘制雷达图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
labels = ['A', 'B', 'C', 'D', 'E']
data = np.array([8, 7, 6, 9, 8])
# 设置雷达图角度,用于平分成五份
angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False)
# 使雷达图封闭起来
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
# 绘图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, data, 'o-', linewidth=2)
ax.fill(angles, data, alpha=0.25)
ax.set_thetagrids(angles * 180/np.pi, labels)
ax.set_title("Radar Chart")
ax.grid(True)
plt.show()
```
这个例子绘制了一个五边形的雷达图,数据分别是 A、B、C、D、E 五个维度的值。你可以根据自己的需求修改数据和标签,生成不同的雷达图。
相关问题
用python简单绘制雷达图并运行
好的,以下是一个使用 Python 绘制雷达图的示例代码,您可以尝试运行它:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['销售', '市场', '研发', '财务', '客服']
values = [3, 4, 2, 3, 5]
# 计算角度
N = len(categories)
angles = [n / float(N) * 2 * np.pi for n in range(N)]
angles += angles[:1]
# 绘图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, values, 'o-', linewidth=2)
ax.fill(angles, values, alpha=0.25)
ax.set_thetagrids(np.degrees(angles), categories)
ax.set_title('部门评分', fontsize=14)
ax.grid(True)
# 显示图形
plt.show()
```
这段代码将会绘制一个简单的雷达图,其中 `categories` 变量表示雷达图的每个数据轴的名称,`values` 变量表示每个数据轴上的值。您可以根据需要修改这些变量的值以及图表的标题等属性。运行代码后将会显示出绘制的雷达图。
用python绘制雷达图
在Python中,你可以使用matplotlib库的pyplot模块以及seaborn库来绘制雷达图,这是一种常用的数据可视化工具,特别适合展示多变量之间的相对重要性或评价指标。以下是使用matplotlib基本步骤:
```python
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
# 创建数据点
categories = ['A', 'B', 'C', 'D', 'E'] # 指标名称
values = [[5, 4, 8, 6, 7], [4, 6, 9, 3, 5]] # 数据列表,每个列表对应一个人或组的结果
# 计算角度
angles = [n / float(len(categories)) * 2 * np.pi for n in range(len(categories))]
angles += angles[:1]
# 绘制雷达图
fig, ax = plt.subplots(figsize=(6, 6))
ax.set_yticklabels([])
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories)
ax.plot(angles, values[0], color='blue')
ax.fill(angles, values[0], color='blue', alpha=0.25)
for i, value in enumerate(values):
ax.plot(angles, value, linewidth=1, linestyle='solid')
ax.fill(angles, value, alpha=0.25)
# 添加分割线并设置颜色
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
cbar = fig.colorbar(cax=cax)
plt.title('雷达图示例') # 设置标题
plt.show()
阅读全文