【问题标题】:About python matplotlib x-axis date format setting关于python matplotlib x轴日期格式设置
【发布时间】:2021-11-13 03:34:26
【问题描述】:

关于matplotlib x轴日期格式设置 大家好: 我正在学习用python编写爬虫程序 通过 yfinance 包获得的股票信息 使用matplotlib绘制折线图 但是matplotlib绘制的轴的日期格式 是例如2021 年 11 月 3 日,不是我想要的 matplotlib 日期格式

希望matplotlib绘制的x轴的日期格式可以改 改成yyyy-mm-dd的格式, 希望大家帮忙

我的代码:

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'] #Get the closing price of the stock market on that day
ans=data.head()
#Start drawing
data.plot(figsize=(8,12))
plt.legend()
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title("Line chart change of 7-day closing price of stock market", fontsize=16)
plt.ylabel('closing price', fontsize=14)
plt.xlabel('Day', fontsize=14)
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()
print(ans)

【问题讨论】:

  • 这个答案的结果是x轴上的刻度不是从2021年开始的,你解决了吗?

标签: python matplotlib plot


【解决方案1】:

您需要定位器和格式化程序。参考:https://matplotlib.org/stable/gallery/text_labels_and_annotations/date.html 而你导入mdates的方式和平时不一样,所以我也做了调整。

# ... other imports
import matplotlib.dates 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("Line chart change of 7-day closing price of stock market", 
              fontsize=16) 
    plt.ylabel('closing price', fontsize=14) 
    plt.xlabel('Day', fontsize=14) 
    plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5) 
    fmt_day = mdates.DayLocator() # provides a list of days 
    plt.gca().xaxis.set_major_locator(fmt_day) 
    plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d")) 
    plt.show()                                                        

【讨论】:

    猜你喜欢
    • 2020-10-30
    • 2013-01-04
    • 2020-12-07
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2014-10-11
    相关资源
    最近更新 更多