如何删除命令“plt.plot(x,y)”绘制的点

问题描述 投票:1回答:2

我只想删除python包matplotlib中命令“plt.plot(x,y)”绘制的点。你能给我一些特定的命令吗?

            x,y=self.forward(x,y,v,target1)
            print a
            print x,y
            plt.plot(x, y, '*')
python matplotlib points
2个回答
1
投票

您无法从一行删除点。你有三个选择:

  • 删除情节,创建新情节 import matplotlib.pyplot as plt import numpy as np x=np.array([1,3,4,6,7]) y=np.array([2,2,2,2,2]) line, = plt.plot(x, y, '*') #points to keep ind = [True,True,False,False,True] line.remove() newx = x[ind] newy = y[ind] line, = plt.plot(newx, newy, '*') plt.show()
  • 更新数据 import matplotlib.pyplot as plt import numpy as np x=np.array([1,3,4,6,7]) y=np.array([2,2,2,2,2]) line, = plt.plot(x, y, '*') #points to keep ind = [True,True,False,False,True] newx = x[ind] newy = y[ind] line.set_data(newx, newy) plt.show()
  • 仅标记点的子集 import matplotlib.pyplot as plt import numpy as np x=np.array([1,3,4,6,7]) y=np.array([2,2,2,2,2]) line, = plt.plot(x, y, '*') #points to keep ind = [True,True,False,False,True] line.set_markevery(ind) plt.show()

0
投票

就像欧内斯特说的那样:“你无法从一条线上删除点”。

如果你想为某种动画做这个,请看看animation module

另一个非常不推荐的黑客将是用相当于背景的颜色“涂抹”点。

x_del = x[2]
y_del = y[2]
plt.plot(x_del, y_del, '*', color='white')
© www.soinside.com 2019 - 2024. All rights reserved.