python画雷达图
时间: 2023-08-26 18:04:38 浏览: 141
你可以使用 matplotlib 库来绘制雷达图。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E'] # 各个类别
values = [4, 3, 2, 5, 1] # 对应类别的值
# 计算角度
N = len(categories)
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles += angles[:1] # 使图形闭合
# 绘图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw={'polar': True})
ax.fill(angles, values, color='skyblue', alpha=0.5)
ax.plot(angles, values, color='red', linewidth=1.5)
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories)
ax.yaxis.grid(True)
# 显示图形
plt.show()
```
这段代码会绘制一个五个类别的雷达图,类别分别为 A、B、C、D 和 E,对应的值分别为 4、3、2、5 和 1。你可以根据自己的需求修改类别和对应的值。
相关问题
python 画雷达图
要使用Python画雷达图,可以使用matplotlib库中的polar参数来创建极坐标图。以下是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
labels = np.array(\["语文", "数学", "英语", "化学", "物理","生物","信息"\])
dataLenth = 7
data = np.array(\[83, 61, 95, 67, 76, 88, 40\])
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
data = np.concatenate((data, \[data\[0\]\]))
angles = np.concatenate((angles, \[angles\[0\]\]))
labels = np.concatenate((labels, \[labels\[0\]\]))
fig = plt.figure(facecolor="white")
plt.subplot(111, polar=True)
plt.plot(angles, data, 'bo-', color='g', linewidth=2)
plt.fill(angles, data, facecolor='g', alpha=0.25)
plt.thetagrids(angles*180/np.pi, labels)
plt.grid(True)
plt.show()
```
这段代码首先定义了要显示的数据和标签,然后通过`np.linspace`函数生成角度,将数据和角度进行连接,最后使用`plt.plot`和`plt.fill`函数绘制雷达图。最后使用`plt.show()`显示图形。
#### 引用[.reference_title]
- *1* [使用python简单绘制雷达图](https://blog.csdn.net/weixin_45972980/article/details/124194614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python绘制雷达图(详细)](https://blog.csdn.net/yawei_liu1688/article/details/113058806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Python绘制雷达图](https://blog.csdn.net/pythonxuexi123/article/details/113862016)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
python画雷达拼图
您可以使用matplotlib库来画雷达图。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
data = np.array([[8, 6, 4, 5, 7], [2, 6, 8, 3, 2], [5, 3, 6, 7, 8]])
# 角度
angles = np.linspace(0, 2*np.pi, len(categories), endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
# 画图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k']
for i in range(len(data)):
values = np.concatenate((data[i], [data[i][0]]))
ax.plot(angles, values, 'o-', color=colors[i], linewidth=2, label=f"Line {i+1}")
ax.fill(angles, values, alpha=0.25, color=colors[i])
ax.set_thetagrids(angles[:-1] * 180/np.pi, categories)
ax.set_title("Radar Chart", fontsize=14)
ax.grid(True)
ax.legend(loc='upper right', bbox_to_anchor=(0.1, 0.1))
plt.show()
```
这个例子中,我们先定义了一些数据和分类,然后计算出每个分类对应的角度。接下来,在极坐标系中画出每个数据的线和填充颜色。最后,我们设置了一些坐标轴标签、标题、网格和图例。运行这个代码,您就可以得到一个雷达图。
阅读全文