Как удалить вертикальную линию, возникающую при построении дискретных данных? - PullRequest
0 голосов
/ 19 февраля 2020

Я потратил утомительное количество времени, пытаясь выяснить, как убрать вертикальную линию, возникающую при построении прерывистых данных. В моем случае я пытаюсь построить некоторые данные, которые расходятся к бесконечности в данной точке. Я использую Python 3.6 с пакетом matplotlib для pyplot.

Этот код выдает тот же неприятный недостаток:

import matplotlib.pyplot as plt

x = np.arange(100) * 0.09
y = 1 / (x - 5)

plt.figure(1)
plt.plot(x,y)
plt.show

Что я могу сделать, чтобы удалить эту строку? Что это, я не вижу?

Прямо сейчас мне кажется, что я исчерпал свои возможности. Я изучил документацию для matplotlib.pyplot.plot и matplotlib.pyplot.scatter, и я не могу решить эту проблему, хотя мне кажется, что это должна быть безумно простая операция (я помню, как однажды имел дело с этим в Maple или MatLab или что-то в этом роде - вы просто устанавливаете аргумент discont = True, чтобы завершить sh this).

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 20 февраля 2020

Ваши данные не являются прерывистыми. Вы создали один вектор (y) и просите построить весь вектор. Вы можете построить отдельные части любого вектора, если размер этого вектора соответствует размеру вектора (x), или создать отдельные векторы.

import matplotlib.pyplot as plt

x = np.arange(100) * 0.09
y = 1 / (x - 5)

plt.figure(1)
plt.plot(x[:50],y[:50])
plt.plot(x[60:],y[60:])
plt.show()

enter image description here

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