iT邦幫忙

1

python matplotlib x軸日期範圍顯示錯誤

  • 分享至 

  • xImage

大家好
我正在撰寫股票爬蟲程式
透過yfinance取得股價資料
在利用matplotlib來繪圖
但是為什麼matplotlib x軸日期範圍是錯誤的
(2007-01-11~2007-01-17)?
matplotlib x軸正確日期範圍應該是要輸出
(2021-11-03~2021-11-12).
我嘗試解決這個問題,但是仍然無法找出原因順利解決
希望大家可以給予協助!! Thank you

程式碼:

import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
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("股票7天內收盤價變化折線圖", fontsize=16) 
plt.ylabel('收盤價', fontsize=14) 
plt.xlabel('日期', 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()```
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
I code so I am
iT邦高手 1 級 ‧ 2021-11-14 20:01:48

不必那麼複雜。

import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
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']
data.head()  

# 這一行就夠了
data.plot(kind='line', figsize=(8,12)) 

我要發表回答

立即登入回答