1

我正在尝试执行以下操作:绘制两个不同的数据集,询问用户哪个更好,从图中删除坏的数据,并保存好图。但是,我找不到使用 matplotlib 的方法。我找到了cla()命令,但即使这样,它也会继续删除整个数字......有人可以帮我解决这个问题吗?

这是我的做法。

fig=plt.figure()
ax=fig.add_subplot(111)
plot(something)
ax2=fig.add_subplot(111)
plot(other thing)
cla()

谢谢!

4

1 回答 1

3

这绘制了两条曲线。单击曲线将其删除。

import matplotlib.pyplot as plt
import numpy as np
sin = np.sin
cos = np.cos
pi = np.pi

def delete(event):
    artist = event.artist
    artist.remove()
    event.canvas.draw()

fig = plt.figure()
ax = fig.add_subplot(111)

x = np.linspace(0, 2*pi, 50)
y = 2*sin(x)
z = 2*cos(x)
line1, = ax.plot(x,y)
line2, = ax.plot(x,z)
for artist in [line1, line2]:
    artist.set_picker(5)
fig.canvas.mpl_connect('pick_event', delete)

plt.show()
于 2012-10-14T13:59:44.503 回答