本文整理汇总了Python中matplotlib.collections.PolyCollection.remove方法的典型用法代码示例。如果您正苦于以下问题:Python PolyCollection.remove方法的具体用法?Python PolyCollection.remove怎么用?Python PolyCollection.remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.collections.PolyCollection
的用法示例。
在下文中一共展示了PolyCollection.remove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Animator
# 需要导入模块: from matplotlib.collections import PolyCollection [as 别名]
# 或者: from matplotlib.collections.PolyCollection import remove [as 别名]
class Animator(object):
def __init__(self, template_w, template_h):
#set up figure
plt.ion()
fig = plt.figure(figsize = (10,10))
ax = fig.gca()
ax.axis([-template_w/2.0, template_w/2.0,-template_h/2.0,template_h/2.0])
ax.get_xaxis().set_visible(True)
ax.get_yaxis().set_visible(True)
#draw template
self.plot_template(template_w,template_h)
#draw to screen
plt.draw()
plt.pause(0.1)
#save axes to object
self.ax = ax
#plot template
def plot_template(self,l = 20.0, w = 20.0):
x_pos = [-l/2, l/2, l/2, -l/2, -l/2 ]
y_pos = [-w/2, -w/2, w/2, w/2, -w/2]
plt.plot(x_pos,y_pos,'k-',linewidth = 3.0)
plt.xlabel('x')
plt.ylabel('y')
def generate_color_array(self,collision):
#define colors (red = collision, blue = no collision)
colors = [None] * len(collision)
for i in range(len(collision)):
if collision[i] == True:
colors[i] = (1.0,0.0,0.0)
else:
colors[i] = (0.0,0.0,1.0)
return colors
#add circular objects
def add_circular_objects(self,diameters,positions,collision):
circ_colors = self.generate_color_array(collision)
self.circles = EllipseCollection(widths=diameters,
heights=diameters,
angles=np.zeros_like(diameters),
units='xy',
offsets=positions,
transOffset=self.ax.transData,
edgecolor='k', facecolor=circ_colors)
self.ax.add_collection(self.circles)
#add text label
text_labels = [None] * len(collision)
for i in range(len(collision)):
text_labels[i]= plt.text(positions[i,0],positions[i,1],str(i),color = 'w')
self.circle_labels = text_labels
#draw to screen
plt.draw()
plt.pause(0.1)
#remove text labels
#for i in range(len(collision)):
# text_labels[i].remove()
#add polygon objects
def add_polygon_objects(self,verts,collision):
poly_colors = self.generate_color_array(collision)
self.polygons = PolyCollection(verts, facecolors=poly_colors)
self.ax.add_collection(self.polygons)
#add text label
num_circles = self.circles.get_offsets().shape[1]
text_labels = [None] * len(collision)
for i in range(len(collision)):
temp = np.array(verts[i])
x = np.mean(temp[:,0])
y = np.mean(temp[:,1])
text_labels[i]= plt.text(x,y,str(i+num_circles),color = 'w')
self.polygon_labels = text_labels
plt.draw()
plt.pause(0.1)
#remove text labels
#for i in range(len(collision)):
# text_labels[i].remove()
#remove circular objects:
def remove_circles(self):
#.........这里部分代码省略.........