我有兩個相應的串列,一個是日期,另一個是其各自的價格。這些串列有 30,000 個資料點長。
x = [datetime.date(1997, 8, 8), datetime.date(2021, 8, 17), datetime.date(2019, 8, 7), ... ]
y = [0.49, 1.99, 0.0, ...]
我正在使用此代碼生成下圖:
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=5))
plt.scatter(x,y)
plt.gcf().autofmt_xdate()
plt.show()

我應該使用上面的代碼以可讀的格式分隔日期,但它似乎不起作用。我也不確定是否可以使圖表更具可讀性,或者這是否是具有如此多資料點的散點圖的本質(不確定還可以使用什么)。
日期范圍從 1997 年到 2022 年,價格從 0.0(免費)到 300。
此外,即使在顯示圖表時,我也會不斷彈出這個錯誤,我不知道它在做什么:
定位器嘗試生成 1995 個刻度 ([9591.0, ..., 19561.0]),超過 Locator.MAXTICKS (1000)。
uj5u.com熱心網友回復:
如果你想讓你的圖形更具可讀性,你需要將DayLocator物件的間隔增加到至少 6000。另外,你可以使用函式中的s引數來改變散點的大小scatter:
import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime
import matplotlib.dates as mdates
x = pd.date_range(datetime.today(), periods=30000).tolist()
y = list(range(30000))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=6000))
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
plt.gcf().autofmt_xdate()
plt.scatter(x, y, s=0.1)
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/469181.html
標籤:Python 日期 matplotlib 阴谋 分散
