Как я могу построить эти данные на многострочном графике?
Я пробовал использовать этот код, но в список добавляется только первое значение каждой строки
Для моей оси Y Я хочу получить значения устройства, умножая значения 0,5,0,1,0 (например, для строки 1 (tv value = 120) я должен получить 24 графика, которые находятся на оси
y: 60 и ось x 0
ось y 0 и ось x 1
ось y 120 и ось x 2
и так далее ... имея в общей сложности 24 графика ( Мои метки y будут состоять из значений от 0 до 2200)
Для моей оси x я буду отображать значения x_labels
формат файла
Residents: 4
TV1:120:0.5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0.5,1,1,1,0.5
Computer:320:1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Fridge1:250:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Dishwasher:500:0.5,1,1,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
Blender:700:0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0,0,0,0,0,0,0,0,0
Fridge2:50:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Coffee machine:2400:0,0,0,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0
Kettle:2200:0.05,0,0,0,0,1,0,0,0.05,0,0.05,0.05,0,0,0,0,0.05,0,0,0,0,0.05,0.05,0
Freezer:140:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Slow cooker:300:0,0,0,0,0,0,0,0,0,0,0,0,0.5,1,1,1,1,1,0.5,0,0,0,0,0
Мой код
import matplotlib.pyplot as plt
import numpy as np
x = []
y = []
x_labels = ['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23']
fileobj = open('file.csv','r')
for line in fileobj:
line_s = line.strip()
Usage = [(x) for x in line_s.split(',')]
y.append(Usage[2])
fileobj.close()
plt.plot(y ,"o--")
plt.ylabel("usage")
plt.xlabel("time")
plt.show()