我想在python的背景中可視化具有不同類的時間序列的線圖。
假設我有 3 個班級的 5 分鐘時間序列,如表 1所示。
| 時間開始 | 時間結束 | 班級 |
|---|---|---|
| 00:00:00 | 00:00:30 | 1 |
| 00:00:31 | 00:01:30 | 2 |
| 00:01:31 | 00:04:00 | 3 |
| 00:04:01 | 00:05:00 | 2 |
表 2 中還顯示了每 10 秒的壓力值。
| 時間結束 | 壓力 |
|---|---|
| 00:00:10 | 0.2 |
| 00:00:20 | 0.3 |
| 00:00:30 | 0.53 |
| . | . |
| . | . |
| 00:04:50 | 0.7 |
| 00:05:00 | 0.92 |
我想在不同顏色的類的頂部繪制一個折線圖,如下圖所示。線圖遵循表 2,線圖的背景顏色遵循表 1。

我愿意使用任何可以幫助我完成此可視化的 Python 庫。
uj5u.com熱心網友回復:
您可以使用以下代碼段:
# convert timestamp to seconds
df2['Time End'] = pd.to_timedelta(df2['Time End']).dt.total_seconds()
df1['Time start'] = pd.to_timedelta(df1['Time start']).dt.total_seconds()
df1['Time End'] = pd.to_timedelta(df1['Time End']).dt.total_seconds()
# plot line
ax = df2.plot(x='Time End', y='Pressure')
ax.set_ylabel('Pressure')
# plot spans
colors = {1: '#D9E8FB', 2: '#F7CECC', 3: '#FFF2CD'}
for _, (x1, x2, c) in df1.iterrows():
ax.axvspan(x1, x2, color=colors[c])

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/357825.html
標籤:蟒蛇-3.x matplotlib 可视化 散景
