我正在繪制一個帶有datetime和的圖表power,可以在所附影像的藍色大線中看到。
繪制影像后,我試圖only_unusual在同一個圖中插入一維串列 ( )。
實際上df['power']包括一維串列 ( only_unusual) 的值。
但是如果不包括 y 軸,only_unusual我就無法繪制圖形。
如何only_unusual在同一個圖中繪制串列,以便它在主藍線上以不同的顏色可見?
我的代碼:
fig, ax = plt.subplots(figsize=(16,12))
ax.plot(pd.to_datetime(df['datetime']), df['power'], color='b',label='Normal')
ax.scatter(only_unusual , color='red', label='Unusual',marker='o')
ax.xaxis_date()
plt.xlabel('Date Time')
plt.ylabel('power')
plt.legend()
fig.autofmt_xdate()
plt.show()

我的資料:
only_unusual : [13.266, 4.213291, 2.756, 3.6722, 12.356, 12.193, 10.318, 12.203, 8.7549, 9.536, 9.10677, 1.417]
df :
datetime invno power
0 2021-12-01 00:00:00 1 0.000
5 2021-12-01 01:00:00 1 0.000
10 2021-12-01 02:00:00 1 0.000
15 2021-12-01 03:00:00 1 0.000
20 2021-12-01 04:00:00 1 0.000
.... ...... ...... .... .. .....
1129 2021-12-10 09:00:00 5 2.914
1134 2021-12-10 10:00:00 5 10.318
... ... ... ...
1149 2021-12-10 13:00:00 5 2.756
1154 2021-12-10 14:00:00 5 1.297
1159 2021-12-10 15:00:00 5 1.503
1164 2021-12-10 16:00:00 5 1.417
1169 2021-12-10 17:00:00 5 0.084
1170 rows × 3 columns
uj5u.com熱心網友回復:
如果串列包含 y 值 ( power)
通常我們可以找到與 匹配的 y 值
如果串列包含 x 值 ( datetime)
我們可以使用
isin來查找匹配的datetime行:matches = df[df['datetime'].isin(only_unusual)]然后將這些
matches(而不是df)用于散點圖:ax.scatter(pd.to_datetime(matches['datetime']), matches['power'], color='r', label='Unusual', marker='o') # ^^^^^^^ ^^^^^^^
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/381774.html
標籤:Python 蟒蛇-3.x matplotlib 阴谋 海生
