使用pyplot,我创建了一个图形并绘制了一些随机分散的(x,y)点.然后,我想将这些点的某些子集与线段相连.用户按下键后,我的程序需要擦除先前绘制的线段集(将原始点保留在原处),然后在另一组点之间绘制新的线段.
我的问题是我不知道如何删除前面的线段.我尝试用背景色(白色)重新绘制它们,但这在行所在的位置留下了非白色像素的残留.我在执行此操作的在线文档中找不到任何示例.有可能吗?
解决方法:
Scipy有一个tutorial,用于从轴中删除一条线.我在以下示例中使用此示例,我认为该示例模仿您要尝试执行的操作:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
np.random.seed(101)
y = np.random.rand(10)
small = [i for i in range(len(x)) if y[i] < .5 ]
big = [i for i in range(len(x)) if y[i] > .5 ]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x,y)
# user wants to plot lines connecting big values (>.5)
ax.plot(x[big],y[big])
#plt.show()
# now user wants to delete the first (and only) line
del ax.lines[0]
# so that they can plot a line only showing small values
ax.plot(x[small],y[small])
plt.show()
标签:matplotlib,python