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 18:07:49 浏览: 59
可以 `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 numpy as np import pandas as pd import matplotlib.pyplot as plt
这三个库都是Python中常用的数据分析和可视化库。其中,NumPy是Python中用于科学计算的基础库,提供了高性能的多维数组和矩阵计算功能。Pandas是基于NumPy的一个数据处理库,提供了高效的数据结构和数据分析工具。Matplotlib是Python中最流行的数据可视化库之一,提供了各种绘图工具和图表类型,可以用于生成各种静态和动态的图表。
以下是一个简单的例子,展示如何使用这三个库绘制一个柱状图:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 创建数据
bar_positions = [1, 2, 3, 4]
bar_heights = [1, 2, 3, 4]
# 绘制柱状图
fig, ax = plt.subplots()
ax.bar(np.arange(len(bar_positions)), bar_heights)
# 设置x轴标签
ax.set_xticks(np.arange(len(bar_positions)))
ax.set_xticklabels(bar_positions)
# 设置y轴标签
ax.set_ylabel('Bar Heights')
# 设置图表标题
ax.set_title('A Simple Bar Chart')
# 显示图表
plt.show()
```
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()
```