一个excel表格中有以下数据书名 封面 出版信息 评分 评价人数 书籍详情 备注 作者 译作者 出版社 定价,用python描绘出评分和评价人数之间的雷达图
时间: 2023-06-17 18:08:17 浏览: 103
要绘制评分和评价人数之间的雷达图,需要使用Python中的matplotlib库和numpy库。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
titles = ['书名1', '书名2', '书名3', '书名4', '书名5']
scores = [4.5, 4.7, 4.2, 4.3, 4.6]
counts = [100, 200, 50, 80, 150]
# 角度
angles = np.linspace(0, 2*np.pi, len(titles), endpoint=False)
# 闭合
scores = np.concatenate((scores, [scores[0]]))
counts = np.concatenate((counts, [counts[0]]))
angles = np.concatenate((angles, [angles[0]]))
# 绘图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, scores, 'o-', linewidth=2)
ax.fill(angles, counts, alpha=0.25)
ax.set_thetagrids(angles * 180/np.pi, titles)
ax.grid(True)
plt.show()
```
在这个示例代码中,我们首先定义了数据(书名、评分和评价人数),然后定义了雷达图的角度,将评分和评价人数的数据闭合起来,最后使用matplotlib库绘制图形并显示。其中,ax.plot绘制了评分的线条,ax.fill绘制了评价人数的填充区域,ax.set_thetagrids设置了角度刻度,ax.grid添加了网格线。
阅读全文