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轴刻度标签,以便更好地显示电影名称 plt.show()将代码纵坐标细化刻度让对比明显
时间: 2023-06-17 08:07:49 浏览: 124
可以 `plt.yticks()` 函数来设置纵坐标的刻度,例如:
```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)
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.yticks([i/10 for i in range(0, 11)])
plt.show()
```
这样就可以将纵坐标的刻度分成10份,让对比更加明显。
相关问题
模仿下述代码画出评分与评分人数之间的雷达图import pandas as pd import matplotlib.pyplot as plt # 读取Excel文件 data = pd.read_excel('C:\\Users\\zwj\\Desktop\\豆瓣读书排行榜-清洗后.xlsx') # 提取评分列数据 plt.rcParams['font.sans-serif']='SimHei' ratings = data['评分'] # 绘制直方图 plt.hist(ratings, bins=4, edgecolor='black') plt.xlabel('评分') plt.ylabel('电影数量') plt.title('豆瓣电影评分分布') plt.show()
抱歉,雷达图是基于多个维度的数据绘制的图表,与直方图不同,无法直接利用 pandas 和 matplotlib 库绘制。您可以尝试使用第三方库如 echarts 或 plotly 来绘制雷达图。以下是一个使用 echarts 绘制雷达图的简单示例:
```python
import pandas as pd
import echarts
# 读取Excel文件
data = pd.read_excel('C:\\Users\\zwj\\Desktop\\豆瓣读书排行榜-清洗后.xlsx')
# 提取评分和评分人数列数据
ratings = data['评分']
num_of_ratings = data['评分人数']
# 绘制雷达图
chart = echarts.Radar('豆瓣图书评分')
chart.config(schema=[{'name': '评分', 'max': 10},
{'name': '评分人数', 'max': 1000000}])
chart.add('豆瓣图书', [list(zip(ratings, num_of_ratings))])
chart.render()
```
注意:上述示例代码需要安装 echarts 和 pandas 库。
import pandas as pd import matplotlib.pyplot as plt # 读取Excel文件 df = pd.read_excel(r"C:\Users\Ethan\Desktop\损失值40次.xlsx") # 获取需要的两列数据 x = df['epoch'] y = df['train'] # y = df['valid'] # 生成图像 plt.plot(x, y) plt.xlabel('epoch') plt.ylabel('loss') plt.title('train') # plt.title('valid') plt.show()要让这段代码画出每一个点的位置?
要让这段代码画出每一个点的位置,只需要在 plt.plot() 函数中加入参数 marker='o' 即可,示例如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Excel文件
df = pd.read_excel(r"C:\Users\Ethan\Desktop\损失值40次.xlsx")
# 获取需要的两列数据
x = df['epoch']
y = df['train']
# 生成图像
plt.plot(x, y, marker='o') # 加入 marker='o' 参数,指定使用圆点标记每个数据点的位置
plt.xlabel('epoch')
plt.ylabel('loss')
plt.title('train')
plt.show()
```
阅读全文