matplotlib отображает 2 строки вместо 1 - PullRequest
0 голосов
/ 30 мая 2020

У меня есть такой python массив: enter image description here

when I use this code:

plt.plot(t, 10 * t)

I get the following line:

enter image description here

But when I use this code:

plt.plot(t, t**2)

I get 2 lines:

введите описание изображения здесь

Что я здесь не так делаю, почему рисую 2 строки вместо 1 ??

Ответы [ 2 ]

2 голосов
/ 30 мая 2020

Ваш массив не отсортирован. Большинство значений не отображаются в строковом представлении, которое вы показываете, но тот факт, что оно не отсортировано, можно увидеть по последним двум отображаемым значениям. Неясно, что именно он содержит - возможно, он поворачивается и возвращается в исходное положение - но если в каком-то месте он содержит наибольшее значение, сразу за которым следует наименьшее значение (или значения, близкие к ним), тогда это приведет к соединению их прямой линией. , что будет очевидно на графике квадратичности c, но которое в линейном случае не будет отличаться отдельно от остальной части графика.

Стоит просто построить график plt.plot(t), чтобы увидеть, что вы на самом деле есть. Также попробуйте

t = numpy.sort(t)
plt.plot(t, t**2)
0 голосов
/ 30 мая 2020

Я думаю, что фигура просто сохраняет первую начерченную линию. Попробуйте добавить plt.clf() перед построением второй линии. Это очистит фигуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...