Удаление точки данных из графика - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь удалить точку данных из графика [на самом деле переместить его вдоль числовой линии], но когда я использую функцию удаления, я получаю «удалить () принимает ровно один аргумент (0 дано)» я не хочуиспользуйте clf (), чтобы очистить все это, потому что я не хочу перерисовывать кадры с помощью setup (ax) каждый раз, когда я перемещаю точку.

x = 1.283
ax = plt.subplot(1, 1, 1)
setup(ax)
movepoint = ax.plot(x, 0.02, 'rv')
plt.pause(1)

while x <= 1.3:
        movepoint.remove()
        x += 0.001
        movepoint = ax.plot(x, 0.02, 'rv')
        plt.pause(0.000001)

plt.show()

Так что же означает ошибка и как ее исправить?

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

То, что вы хотите, это изменить значение x отображаемых данных. Это можно сделать методом set_xdata() ( см. Документ ).

import matplotlib.pyplot as plt
x = 1.283
ax = plt.subplot(1, 1, 1)
ax.set_xlim(left=1.25, right=1.35)  # optional
movepoint, = ax.plot(x, 0.02, 'rv')  # the ',' makes movepoint the Line2D instance instead of a 1-element list
# plt.pause(1)  # not sure what purpose that would serve

while x <= 1.3:
    x += 0.001
    movepoint.set_xdata([x])
    plt.pause(0.1)  # long enough to see something
0 голосов
/ 04 июня 2019

Помогает ли просто удалить линию от фактической оси?

x = 1.283
ax = plt.subplot(1, 1, 1)
setup(ax)
ax.plot(x, 0.02, 'rv')
plt.pause(1)

while x <= 1.3:
        ax.lines.pop(0)
        x += 0.001
        ax.plot(x, 0.02, 'rv')
        plt.pause(0.000001)

plt.show()

Или вы хотите создать анимацию, в которой пакет https://matplotlib.org/3.1.0/api/animation_api.html может вам помочь?

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