【问题标题】:How to plot multiple line graph for a column value from a CSV file?如何为 CSV 文件中的列值绘制多条折线图?
【发布时间】:2019-11-19 23:45:44
【问题描述】:

我尝试使用折线图绘制 4 个节点的能量图,但我无法确定哪条线代表哪个节点 ID(1、2、3 或 4)

我的 csv 看起来像这样:

Time,Source,Destination,Bits,Energy 0,1,2,288,9.9999856 1058,1,2,288,9.9999856 1140,2,1,96,9.9999808 1958,2,3,96,9.9999952 2024,2,1,96,9.9999808 2051,2,3,288,9.999966399 3063,2,3,288,9.9999808 3126,3,2,96,9.999976 3127,2,1,288,9.9999664 3946,3,2,96,9.999961599 8340,1,2,288,9.999952 9418,1,2,288,9.999947199 9479,2,1,96,9.999942399 10299,2,3,96,9.9999712 10365,2,1,96,9.9999472 10758,2,3,288,9.999927999 11770,2,3,288,9.9999568 11832,3,2,96,9.999951999 11842,2,1,288,9.9999328

代码:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.read_csv('DS1.csv')

for Energy,data in df.groupby('Source'):
    plt.plot(data['Time'], data['Energy'])
    plt.legend(data['Source'])
    #print(data)

plt.xlabel('Time')
plt.ylabel('Energy')
plt.legend()
plt.show()

我实际上想绘制所有来源(1 到 4)的来源、能量与时间

【问题讨论】:

    标签: python-3.x python-2.7 matplotlib


    【解决方案1】:

    你需要设置标签。

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    df = pd.read_csv('DS1.csv')
    
    for Energy, data in df.groupby('Source'):
        plt.plot(data['Time'], data['Energy'], label=Energy)
        #print(data)
    
    plt.xlabel('Time')
    plt.ylabel('Energy')
    plt.legend()
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      相关资源
      最近更新 更多