У меня есть произвольное большое количество (50-1000) списков, представляющих координаты X и Y, я хотел бы нарисовать их на одной фигуре.
Списки имеют разную длину, обычно по 100-1000 элементов каждый. Я получаю списки в виде пар координат x и y (см. Пример), но могу легко преобразовать их в массивы 2xN. Они должны быть построены по порядку, от первого до последнего элемента. Каждая строка отдельно.
Есть ли способ упаковать все мои списки в один (или два; x и y) объект, который может прочитать matplotlib?
Этот пример дает желаемый результат, но неудобен при большом количестве данных.
Я рад за решение, которое использует Numpy.
from matplotlib import pyplot as plt
fig, ax = plt.subplots(1,1)
x1 = [1,2,5] # usually much longer and a larger number of lists
y1 = [3,2,4]
x2 = [1,6,5,3]
y2 = [7,6,3,2]
x3 = [4]
y3 = [4]
for x, y, in zip([x1, x2, x3],[y1, y2, y3]):
ax.plot(x,y, 'k.-')
plt.show()
Я бы предпочел что-то вроде этого:
# f() is the function i need, to formats the data for plotting
X = f(x1, x2, x3)
Y = f(y1, y2, y3)
#... so that I can do some processing of the arrays X, and Y here.
ax.plot(X, Y, 'k.-')