我無法調整下圖中的 x 軸范圍。資料是每月的,從 1995-01-31 開始,到 2022-03-31 結束,我只想顯示年份。我用 mdates 解決了這個問題。到現在為止還挺好。
但是,我不想顯示 1994 和 2023。我想將 xlim 設定為 1995 和 2022。使用 mdates 后如何執行此操作?
(我不想使用 set_visible(False),我希望線條盡可能靠近 y 軸開始。)

fig, ax = plt.subplots(figsize=(15,6))
plt.grid(True, which='major', axis='y', color='#000000', alpha=0.2, linestyle='-')
plt.title('TITLE\nTEXT TEXT\n', fontdict={'fontsize': '20',
'fontname':'Arial'})
plt.plot(df['Perc'],linewidth=4, color=bl?)
ax.xaxis.set_major_locator(mdates.YearLocator())
plt.xticks(rotation=30)
#x_ticks = ax.xaxis.get_major_ticks() # Tried to get the x-ticks like this and use them in xlim.
#plt.xlim(x_ticks[1].label,x_ticks[-2].label)
#plt.xlim(?,?)
plt.annotate('Source: XXXXX',
xycoords='figure fraction', fontsize=14, color='#000000', xy=(0.4, .024))
ax.annotate('Percent',
xycoords='figure fraction', fontsize=14, color='#000000', xy=(0.065, .9))
plt.rc('xtick', labelsize=14)
plt.rc('ytick', labelsize=14)
plt.show()
uj5u.com熱心網友回復:
樣本資料是最長為一個月的福特股票價格圖表。修正在x軸上自動添加開始和結束邊距,可以得到圖表中使用的x軸比例,并且可以改變開始和結束邊距。最后,由于書寫風格是 plt 和 ax 的混合體,我們以 ax 為基礎對其進行了對齊。
import yfinance as yf
df = yf.download("FORD", inverbal='1mo', period='max')
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
fig, ax = plt.subplots(figsize=(15,6))
ax.grid(True, which='major', axis='y', color='#000000', alpha=0.2, linestyle='-')
ax.set_title('TITLE\nTEXT TEXT\n', fontdict={'fontsize': '20', 'fontname':'Arial'})
ax.plot(df['Close'], linewidth=4, color='black')
ax.xaxis.set_major_locator(mdates.YearLocator())
ax.tick_params(axis='x', labelrotation=45)
new_xticks = ax.get_xticks()
#print(new_xticks)
ax.set_xlim(new_xticks[2], new_xticks[-2])
ax.annotate('Source: XXXXX', xycoords='figure fraction', fontsize=14, color='#000000', xy=(0.4, .024))
ax.annotate('Percent', xycoords='figure fraction', fontsize=14, color='#000000', xy=(0.065, .9))
plt.rc('xtick', labelsize=14)
plt.rc('ytick', labelsize=14)
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461100.html
標籤:Python matplotlib
上一篇:如何通過撰寫處理剪切區域?
下一篇:使用pandas的多維列的條形圖
