我有兩個功能datetime和voltfor 1000 machineIDs. 我正在使用 matplotlib 列印日期時間和電壓。現在,有些machineIDs具有獨特的值,例如有 6-7 條獨特的線,因此圖形上有多條線。像這樣,

我想將這些線以不同的顏色分隔為不同的machineIDs. 問題是我正在為datetime并且volt只為 . 那么我該怎么做呢?
這是一個示例資料
machineID dt_truncated volt_rollingmean_12 label_e
964 2015-01-27 12:00:00 194.788225 1
在這里,我根據 label_e 的值繪制 b/w volt 和 dt_truncated。如果 label_e 是 1,那么我們考慮將其用于繪圖。但是有 1000 個機器 ID,因此圖上有 6-7 條不同的線。
根據 quest 的回答,我得到了這個情節

uj5u.com熱心網友回復:
您可以這樣做:
fig, ax = plt.subplots()
groups = df.groupby('machineID')
for name, group in groups:
group = group.sort_values("dt_truncated")
ax.plot(group.dt_truncated, group.volt_rollingmean_12, marker='o', ms=12, label="machineID")
這是輸出

uj5u.com熱心網友回復:
在繪圖之前旋轉您的資料框:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dti = pd.date_range('2021-12-20', '2021-12-26')
df = pd.DataFrame({'machineID': np.repeat(range(1, 6), len(dti)),
'dt_truncated': dti.tolist()*5,
'volt_rollingmean_12': np.random.randint(160, 380, 5*len(dti))})
df.pivot('dt_truncated', 'machineID', 'volt_rollingmean_12').plot()
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/389658.html
標籤:熊猫 matplotlib 阴谋
上一篇:在ggplot2中添加完全相同數量的水平傳播/“抖動”/閃避
下一篇:如何提取資料框位置的特定鍵
