import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'SimHei' # 读取股票数据 df = pd.read_csv('E:/应统案例大赛/附件1-股票交易数据/a1.csv') # 统计性描述 print(df.describe()) # 绘制K线图 fig, ax = plt.subplots() ax.plot(df['date'], df['close'], label='Close') ax.plot(df['date'], df['open'], label='Open') ax.plot(df['date'], df['high'], label='High') ax.plot(df['date'], df['low'], label='Low') ax.legend() ax.set_xlabel('Date') ax.set_ylabel('Price') ax.set_title('603826坤彩科技') plt.savefig('a1.jpg') plt.show()横坐标如何显示出相应的日期
时间: 2023-08-10 13:04:59 浏览: 91
要在横轴上显示日期,可以使用 matplotlib 中的 `date2num` 和 `num2date` 函数,将日期数据转换为数字表示。具体步骤如下:
1. 在代码中导入 `matplotlib.dates` 模块,并获取日期数据的最小值和最大值。例如:
```
import matplotlib.dates as mdates
# 获取日期数据的最小值和最大值
date_min = mdates.date2num(df['date'].min())
date_max = mdates.date2num(df['date'].max())
```
2. 在绘图时,使用 `mdates.DateFormatter` 和 `mdates.DayLocator` 对象来设置横轴的显示格式和间隔。例如:
```
import matplotlib.dates as mdates
# 设置横轴的显示格式和间隔
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))
```
这个代码会将横轴的日期格式设置为 '%Y-%m-%d',表示年-月-日的形式,间隔为 7 天。
完整的代码如下所示:
```
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
plt.rcParams['font.family'] = 'SimHei' # 设置字体
# 读取股票数据
df = pd.read_csv('E:/应统案例大赛/附件1-股票交易数据/a1.csv')
# 统计性描述
print(df.describe())
# 获取日期数据的最小值和最大值
date_min = mdates.date2num(df['date'].min())
date_max = mdates.date2num(df['date'].max())
# 绘制K线图
fig, ax = plt.subplots()
ax.plot(df['date'], df['close'], label='Close')
ax.plot(df['date'], df['open'], label='Open')
ax.plot(df['date'], df['high'], label='High')
ax.plot(df['date'], df['low'], label='Low')
ax.legend()
ax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.set_title('603826坤彩科技')
# 设置横轴的显示格式和间隔
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))
plt.savefig('a1.jpg') # 保存图表
plt.show() # 显示图表
```
这样,横轴上就会显示相应的日期。
阅读全文