绘制多个传感器数据(Pandas,Matplotlib)

时间:2020-10-15 13:06:28

标签: python pandas dataframe matplotlib plot

我想首先按“ id”然后按“ Datetime”对数据框进行分组。然后针对“日期时间”绘制每个传感器的“温度”数据。谢谢!

Sudo代码:

   _, ax = plt.subplots()
    df_ = plots.groupby(['moteid', "Datetime"])
    for sensorID in df_moteid.unique():
      plot df['temp'] against df['Datetime']

我的数据如下所示: enter image description here

编辑: 我设法通过先在read_csv中声明index_col='Datetime'来绘制每个传感器数据,使其成为主要索引,然后像这样绘制:

_, ax = plt.subplots()
for key, group in df.groupby('moteid'):
    rgb = np.random.rand(3,)
    group.plot.line(ax=ax, y='temp', color=[rgb], label=key)
plt.show()

1 个答案:

答案 0 :(得分:1)

这是用于显示每个传感器温度随日期时间变化的代码。每个传感器根据其ID将具有不同的颜色。我以4个传感器id的示例为例:

import matplotlib.pyplot as plt
colors_moteid = {'1':'red', '2':'blue', '3':'green', '4':'black'}

_, ax = plt.subplots()
for key,group in df_.groupby('moteid'):
    group.plot.scatter(ax=ax, x='Datetime', y='temp', label=key, color = colors_moteid[str(key)])
plt.show()