You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用matplotlib绘图将x轴日期格式设置为yyyy-mm-dd求助

解决方法

你只需要在绘制网格的代码前,新增2行设置x轴日期格式的代码即可,修改后的完整代码如下:

import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
from matplotlib.dates import DateFormatter as mdates
startday = '2021-11-03'
endday = '2021-11-12'
ticker_list = ['2303.TW','2610.TW','2618.TW']
data = pd.DataFrame(columns=ticker_list)
for ticker in ticker_list:
     data[ticker] = yf.download(ticker, startday,endday)['Adj Close'] # 获取对应股票每日的调整后收盘价
ans=data.head()
# 开始绘图
data.plot(figsize=(8,12))
plt.legend()
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title("台股7日收盘价变化折线图", fontsize=16)
plt.ylabel('收盘价', fontsize=14)
plt.xlabel('日期', fontsize=14)
# 新增的日期格式设置代码
ax = plt.gca()
# 设置x轴日期格式为yyyy-mm-dd
ax.xaxis.set_major_formatter(mdates('%Y-%m-%d'))
# 可选:自动旋转x轴日期标签,避免重叠
plt.gcf().autofmt_xdate()
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()
print(ans)

修改说明

  • 用plt.gca()获取当前绘图的坐标轴对象
  • 调用x轴的set_major_formatter方法,传入你导入的DateFormatter实例,通过格式字符串%Y-%m-%d指定输出的日期格式为年-月-日
  • 补充的autofmt_xdate()方法会自动倾斜x轴标签,避免日期文字重叠影响可读性

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:06:02