import pandas as pd import matplotlib.pyplot as plt from matplotlib.dates import DateFormatter # 读取表格数据 data = pd.read_excel('E:/应统案例大赛/附件1-股票交易数据/yuceclose.xlsx') # 获取日期和14个股票的收盘价数据 date_data = data.iloc[:, 0] # 假设日期数据在第1列中 closing_data = data.iloc[:, 1:15] # 假设收盘价数据在第2~15列中 # 绘制收盘价趋势图 fig, ax = plt.subplots() ax.plot(date_data, closing_data) # 设置横坐标主刻度为月份,并将刻度标签的格式设置为"年-月" ax.xaxis.set_major_formatter(DateFormatter('%Y-%m')) # 添加图例 plt.legend() #closing_data.plot() # 设置图表标题和横纵坐标标签 plt.title('Closing Prices Trend') plt.xlabel('Date') plt.ylabel('Closing Price') # 对收盘价数据进行统计描述 closing_data_stats = closing_data.describe() # 绘制收盘价数据的箱线图 closing_data.plot.box() plt.title('Boxplot of Closing Prices') plt.ylabel('Closing Price') # 显示图表 plt.show()为什么没有每条线的名字
时间: 2024-02-24 18:54:35 浏览: 140
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
在代码中,您没有指定每个股票收盘价的名称,因此在绘制图表时没有显示每条线的名字。您可以在调用 `plot` 函数时使用 `label` 参数来指定每条线的名称。例如,以下代码将每个股票的名称作为标签添加到图表中:
```
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter
# 读取表格数据
data = pd.read_excel('E:/应统案例大赛/附件1-股票交易数据/yuceclose.xlsx')
# 获取日期和14个股票的收盘价数据
date_data = data.iloc[:, 0] # 假设日期数据在第1列中
closing_data = data.iloc[:, 1:15] # 假设收盘价数据在第2~15列中
# 绘制收盘价趋势图
fig, ax = plt.subplots()
for col in closing_data.columns:
ax.plot(date_data, closing_data[col], label=col) # 使用label参数指定每条线的名称
# 设置横坐标主刻度为月份,并将刻度标签的格式设置为"年-月"
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m'))
# 添加图例
plt.legend()
# 设置图表标题和横纵坐标标签
plt.title('Closing Prices Trend')
plt.xlabel('Date')
plt.ylabel('Closing Price')
# 对收盘价数据进行统计描述
closing_data_stats = closing_data.describe()
# 绘制收盘价数据的箱线图
closing_data.plot.box()
plt.title('Boxplot of Closing Prices')
plt.ylabel('Closing Price')
# 显示图表
plt.show()
```
在上面的代码中,我们使用了一个循环来遍历 `closing_data` 中的每一列,并使用 `label` 参数将每个股票的名称添加到图表中。然后,我们调用 `legend` 函数来添加图例。
阅读全文