删除散点图中的标绘点 - matplotlib
Removing a plotted point in scatter plot - matplotlib
以下示例是其网站上提供的 matplotlib 散点图示例的简化版本,显示了我尝试从散点图中删除一个点的尝试
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
# the random data
x = np.random.randn(2)
y = np.random.randn(2)
fig, axScatter = plt.subplots(figsize=(5.5,5.5))
# the scatter plot:
axScatter.scatter(x, y)
axScatter.set_aspect(1.)
np.delete(x,1)
np.delete(y,1)
axScatter.scatter(x, y)
plt.draw()
plt.show()
我想不出在绘制后从散点图中删除点的方法,但如果我使用相同的方法,我可以绘制一个新点。
您需要更新绘图艺术家的数据。
还有 numpy.delete
returns 删除项目的数组副本,因此调用 np.delete(x, 1)
不会修改原始 x
。如果要删除第二项,则需要使用 x = np.delete(x, 1)
。
举个简单的例子:
import numpy as np
import matplotlib.pyplot as plt
import time
x, y = np.random.random((2, 10))
fig, ax = plt.subplots()
scat = ax.scatter(x, y, s=150)
# Show the figure, then remove one point every second.
fig.show()
for _ in range(10):
time.sleep(1)
xy = np.delete(scat.get_offsets(), 0, axis=0)
scat.set_offsets(xy)
plt.draw()
以下示例是其网站上提供的 matplotlib 散点图示例的简化版本,显示了我尝试从散点图中删除一个点的尝试
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
# the random data
x = np.random.randn(2)
y = np.random.randn(2)
fig, axScatter = plt.subplots(figsize=(5.5,5.5))
# the scatter plot:
axScatter.scatter(x, y)
axScatter.set_aspect(1.)
np.delete(x,1)
np.delete(y,1)
axScatter.scatter(x, y)
plt.draw()
plt.show()
我想不出在绘制后从散点图中删除点的方法,但如果我使用相同的方法,我可以绘制一个新点。
您需要更新绘图艺术家的数据。
还有 numpy.delete
returns 删除项目的数组副本,因此调用 np.delete(x, 1)
不会修改原始 x
。如果要删除第二项,则需要使用 x = np.delete(x, 1)
。
举个简单的例子:
import numpy as np
import matplotlib.pyplot as plt
import time
x, y = np.random.random((2, 10))
fig, ax = plt.subplots()
scat = ax.scatter(x, y, s=150)
# Show the figure, then remove one point every second.
fig.show()
for _ in range(10):
time.sleep(1)
xy = np.delete(scat.get_offsets(), 0, axis=0)
scat.set_offsets(xy)
plt.draw()