定义绘制涨跌幅的函数 def plot_k_line(df): fig, ax = plt.subplots(figsize=(14,8)) # 绘图窗口大小 # 获取“股票名称”列的值作为标题 title = df['name'][1] plt.title(title, fontsize=18) # 标题 # 绘制参考线 (df['close']-df['open']).plot(grid=True, color='red', label='每日涨跌(收盘价-开盘价)').axhline(y=0, color='black', lw=2) ax.legend(frameon=False) plt.xlabel('6-12月份', fontsize=14) # 横坐标 plt.ylabel('涨跌幅度', fontsize=14) #纵坐标 # 刻度标记大小 # axis 可选择参数 x,y,both plt.tick_params(axis='both',labelsize=13) # 设置横坐标主刻度为月份,并将刻度标签的格式设置为"年-月" ax.xaxis.set_major_formatter(DateFormatter('%Y-%m')) ax.tick_params(axis='x', which='minor', labelsize=8, labelrotation=45) # 设置次刻度标签的大小和旋转角度 font = fm.FontProperties(size=10, style='italic') # 设置斜体字体属性 plt.xticks(fontproperties=font) # 设置刻度标签为斜体 横坐标日期与表格中不对应,如何修改
时间: 2023-12-04 21:02:09 浏览: 120
matplotilb中fig,ax = plt.subplots()的使用
要修改横坐标日期与表格中不对应的问题,您可以在绘制图表之前将日期格式转换为相同的格式。例如,您可以使用`pd.to_datetime()`将日期转换为统一的日期格式。以下是修改后的代码示例:
```
# 导入 datetime 模块
from datetime import datetime
# 定义绘制涨跌幅的函数
def plot_k_line(df):
fig, ax = plt.subplots(figsize=(14,8)) # 绘图窗口大小
# 获取“股票名称”列的值作为标题
title = df['name'][1]
plt.title(title, fontsize=18) # 标题
# 将日期转换为统一的格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 绘制参考线
(df['close']-df['open']).plot(grid=True, color='red', label='每日涨跌(收盘价-开盘价)').axhline(y=0, color='black', lw=2)
ax.legend(frameon=False)
plt.xlabel('6-12月份', fontsize=14) # 横坐标
plt.ylabel('涨跌幅度', fontsize=14) #纵坐标
# 刻度标记大小
# axis 可选择参数 x,y,both
plt.tick_params(axis='both',labelsize=13)
# 设置横坐标主刻度为月份,并将刻度标签的格式设置为"年-月"
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m'))
ax.tick_params(axis='x', which='minor', labelsize=8, labelrotation=45) # 设置次刻度标签的大小和旋转角度
font = fm.FontProperties(size=10, style='italic') # 设置斜体字体属性
plt.xticks(fontproperties=font) # 设置刻度标签为斜体
```
在上述代码中,我们使用了`pd.to_datetime()`将`date`列中的日期格式转换为`'%Y-%m-%d'`格式,以确保它们与横坐标标签格式相同。
阅读全文