У меня есть несколько массивов (более того, около 20 массивов x и 20 массивов y), но это пример xa1 = [0, ... 3000] ya1 = [0, ... 3000] xa2 = [0, .. .3000] ya2 = [0, ... 3000] xa3 = [0, ... 3000] ya3 = [0, ... 3000] Я хочу ...

0
Epsilon Eridani 6 Апр 2021 в 00:14

2 ответа

Лучший ответ

Исходя из вашего синтаксиса, xarr [i] - это не массив, а список с одним элементом в нем, а этот элемент является массивом. Матплотлибу это не понравится.

Попробуйте вместо этого инициализировать xarr как список, то есть [xa1, xa2, xa3], и то же самое для yarr: вам не нужно, чтобы они были массивами, просто список массивов для цикла for для итерации.

0
fitzme 5 Апр 2021 в 21:18

xarr и yarr - два объединенных массива. Вам нужно указать столбец при их выборе, поэтому [i, 0]

import numpy as np
import matplotlib.pyplot as plt

xa1=range(0,150)
ya1=np.random.rand(150)
xa2=range(0,150)
ya2=np.random.rand(150)
xa3=range(0,150)
ya3=np.random.rand(150)

xarr = np.array([[xa1],[xa2],[xa3]])
yarr = np.array([[ya1],[ya2],[ya3]])

for i in range(3):
    plt.plot(xarr[i,0], yarr[i,0])
plt.show()

enter image description here

0
ce.teuf 5 Апр 2021 в 21:24