Как построить несколько линейных графиков для значения столбца из файла CSV? - PullRequest
0 голосов
/ 10 июля 2019

Я попытался построить график для энергий 4 узлов, используя линейный график, но я не смог определить, какая линия представляет какой идентификатор узла (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)

1 Ответ

0 голосов
/ 10 июля 2019

Вам нужно установить метку.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...