Как бы я построить график из большого массива? - PullRequest
2 голосов
/ 31 марта 2019

У меня есть массив NumPy [(a1, x1), (a2, x2), ..., (a100, x100)], и мне нужно построить его так, чтобы a - это моя ось y, а x - моя ось x.

Я знаю, что было бы проще иметь [a1, a2, ..., a100] и [x1, x2, ..., x100] в качестве отдельных массивов для построения, но я делаю проект, и мне специально сказали сделать это таким образом, ноя борюсь

Попытка 1 дала мне график, но я думаю, что он построил график значений a и x относительно их порядковых номеров в массиве.

Попытка 2, предложенная сайтом matplotlib, просто дала мне длинное сообщение об ошибке.

# attempt 1 
plt.plot(array,'r.') 
plt.show()
plt.close()

# attempt 2 
plt.plot(array_1[0], array_1[1:],'r.') 
plt.show()
plt.close()

Любой совет будет принята с благодарностью.Спасибо!

1 Ответ

1 голос
/ 31 марта 2019

Предполагая, что ваш массив представляет собой пустой массив с формой (100,2), вы можете сделать:

plt.plot(arr[:,1],arr[:,0])

Способ прочитать это:

[первое измерение, второе измерение]где : - это «все измерения», а индексы 1 и 2 указывают положение в измерении.

Таким образом, код arr[:,1] означает «все строки», «второй элемент»

edit: После обсуждения с OP выясняется, что его / ее форма массива действительно (202,)

Вы можете исправить это, изменив форму.

array_1 = array_1.reshape(-1,2)
plt.plot(arr[:,1],arr[:,0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...