使用matplotlib滑块进行PatchCollection和Python中的其他绘图

时间:2015-11-14 09:49:01

标签: python matplotlib

我有PatchCollection和通用图的多个图,我想添加一个滑块或键功能,以便我遍历 frame_1 frame_2 frame_1通常从1到10 ,而 frame_2从1变为100。我不知道如何使用PatchCollection滑块。任何帮助非常感谢。感谢。

有没有办法迭代ax.add_collection()并覆盖之前的情节?

请参阅以下代码:

mysqli_error($conn)

我为特殊矩形创建了一个函数,并在def update(val)中调用它。看起来它创造了无花果并与之前的数字重叠,但它没有覆盖它。这意味着更新值时看起来一团糟。

从网上尝试了一些解决方案然后我收到以下错误

  

TypeError:' PatchCollection'对象不可迭代

如果还有其他优雅的方式,请建议。感谢

1 个答案:

答案 0 :(得分:0)

我真是太傻了。

我犯了一个错误,包括功能外的补丁。因此,每当我调用该函数时,它都会将之前的矩形添加到图中,从而基本上增加了patch []的大小。以下解决了问题

def position_r():
    patches = []
    for i in np.arange(len(n)):
        pos = mpatches.Rectangle([max_l, pos_numbers[i]], pos_left[i] , 10, ec="none")
        patches.append(pos)
        pos = mpatches.Rectangle([pos_right[i], pos_numbers[i]],pos_right[i]),10 , ec="none")
        patches.append(pos)

 def remove_collection():
     global collection
     collection.remove

 def update(val):
 #   update all the lines (1 to 7)
 #  update special rectangles

 position_r(updated values)
 remove_collection() # removes the previous rectangles 
 ax.add_collection(collection) # adds the updated rectangles