豆瓣top250电影评分分布直方图要求有上标且x轴每格对应一个评分
时间: 2023-06-20 09:06:34 浏览: 135
好的,我可以使用 Python 中的 Matplotlib 库来绘制直方图。以下是一个例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 读取数据
data = np.loadtxt('豆瓣电影top250.csv', delimiter=',', skiprows=1, usecols=1)
# 计算评分的范围
min_score = np.floor(data.min())
max_score = np.ceil(data.max())
# 设置直方图的参数
bins = np.linspace(min_score, max_score, max_score-min_score+1)
hist, _ = np.histogram(data, bins=bins)
# 绘制直方图
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(bins[:-1], hist, width=0.8, align='edge')
ax.set_xlabel('评分')
ax.set_ylabel('电影数量')
ax.set_xticks(bins)
ax.set_xlim([min_score, max_score])
ax.set_ylim([0, 30])
ax.grid(axis='y', linestyle='--', alpha=0.7)
ax.text(9.5, 28, '豆瓣电影Top250评分分布', fontsize=16, fontweight='bold')
ax.text(9.5, 26, '数据来源:豆瓣电影', fontsize=12)
# 添加上标
for i, v in enumerate(hist):
ax.text(bins[i], v, str(v), ha='center', va='bottom')
plt.show()
```
在这个例子中,我使用了一个名为 `豆瓣电影top250.csv` 的数据文件来存储电影的评分数据。你可以将其替换为你自己的数据文件。运行代码后,你应该会看到一个带有上标的直方图,其中 x 轴每格对应一个评分。
阅读全文