[英]Python - Plot time series data and connect two points using line
雖然看起來並不那么困難,但對於我的一生,我無法弄清楚。 任何幫助將不勝感激。 這是我的情況:
我有一個數據框df1,其中包含日期和價格。 我可以使用此數據通過matplotlib.pyplot繪制圖形。 目前很好。
我有另一個數據框df2,它再次包含日期和價格信息,但僅包含6行。 現在,我需要獲取df2的前兩行,並將其視為兩個點(x軸為Date,y軸為Price),然后將它們連接到上面繪制的圖形上。 與接下來的兩行相同,依此類推。 (df2中將有更多行,但我希望您能得到滿意的結果)。
我試過在兩個df上一個又一個地調用plot()-結果是,當調用df2.plot()時,使用df1.plot()繪制的圖形被擦除,並繪制了df2線。
df = pd.read_csv(r'https://vincentarelbundock.github.io/Rdatasets/csv/fpp2/goog200.csv', index_col=0)
df2 = df.loc[[57, 98, 169]]
plt.plot(df['time'], df['value'])
plt.plot(df2['time'], df2['value'])
plt.show()
(在對OP的評論中提供user23564的鏈接答案的信用)
df = pd.read_csv(r'https://vincentarelbundock.github.io/Rdatasets/csv/fpp2/goog200.csv', index_col=0)
df2 = df.loc[[57, 98, 169, 200]].reset_index()
plt.plot(df['time'], df['value'])
for i in range(0, len(df2), 2):
plt.plot(df2.loc[i:i+1, 'time'], df2.loc[i:i+1, 'value'], c='grey')
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.