У меня есть класс, который генерирует списки данных из математических уравнений, которые я сформулировал для моделирования системы с течением времени. Класс может принимать разные числа для разных переменных в уравнениях, поэтому вы можете создавать объекты из класса, которые имеют разные выходные данные модели. Я хотел бы вывести выходные данные из разных объектов на одном графике, но когда я пытаюсь это сделать, я получаю следующую ошибку: ValueError: x and y must have same first dimension, but have shapes (5,) and (10,)
. Я заговор с использованием Matplotlib. Пример того, как выглядит код, приведен здесь:
import matplotlib.pyplot as plt
class Foo:
def __init__(self, x=[1,2,3,4,5], y=[], var1=None, var2=None):
self.x = x
self.y = y
self.var1 = var1
self.var2 = var2
def calculate_y(self, index):
return (self.var1 + self.var2) * self.x[index]
def run_calculation(self):
for i in range (0, len(self.x)):
self.y.append(self.calculate_y(i))
obj1 = Foo(var1 = 1, var2 = 2)
obj2 = Foo(var1 = 3, var2 = 4)
obj1.run_calculation()
obj2.run_calculation()
plt.figure(1)
plt.plot(obj1.x, obj1.y)
plt.plot(obj2.x, obj2.y)
plt.show()
Я использую списки, сгенерированные методами класса из отдельных объектов для построения. Любая идея, почему я получаю эту ошибку и не могу построить? Заранее спасибо.