import pandas as pd import matplotlib.pyplot as plt # 读取Excel文件 data = pd.read_excel('C:\\Users\\zwj\\Desktop\\豆瓣读书排行榜-清洗后.xlsx') # 按评分值降序排序,并选取TOP5电影 top5 = data.sort_values(by='评分', ascending=False).head(5) plt.rcParams['font.sans-serif']='SimHei' # 提取电影名称和评分值 movies = top5['书名'] ratings = top5['评分'] # 绘制柱形图 plt.bar(movies, ratings) plt.xlabel('电影') plt.ylabel('评分') plt.title('豆瓣排行榜评分值TOP5电影') plt.xticks(rotation=8) # 旋转X轴刻度标签,以便更好地显示电影名称 # 设置纵坐标刻度,将刻度分成10份 plt.show()将上述代码中柱状图上方显示评分
时间: 2023-06-17 15:07:45 浏览: 147
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
可以使用 plt.text() 函数在柱状图上方添加文本,具体实现如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Excel文件
data = pd.read_excel('C:\\Users\\zwj\\Desktop\\豆瓣读书排行榜-清洗后.xlsx')
# 按评分值降序排序,并选取TOP5电影
top5 = data.sort_values(by='评分', ascending=False).head(5)
# 提取电影名称和评分值
movies = top5['书名']
ratings = top5['评分']
# 绘制柱形图
plt.bar(movies, ratings)
# 添加文本
for x, y in zip(movies, ratings):
plt.text(x, y+0.05, '%.1f' % y, ha='center', va='bottom')
plt.xlabel('电影')
plt.ylabel('评分')
plt.title('豆瓣排行榜评分值TOP5电影')
plt.xticks(rotation=8)
plt.show()
```
以上代码中,plt.text() 函数的参数说明如下:
- x:文本的横坐标位置;
- y:文本的纵坐标位置;
- '%.1f' % y:文本的内容,%.1f 表示保留一位小数;
- ha:文本的水平对齐方式,center 表示居中;
- va:文本的垂直对齐方式,bottom 表示在柱状图上方。
阅读全文