Python - matplotlib:如何更改 RectangleSelector 属性
Python - matplotlib: how to change RectangleSelector properties
是否可以在创建 RectangleSelector 后更改它的属性?
假设我用以下矩形创建了一个图形:
from matplotlib.widgets import RectangleSelector
import matplotlib.pyplot as plt
def on_click(eclick, erelease):
pass
fig, current_ax = plt.subplots()
RS = RectangleSelector(current_ax, on_click, drawtype='box',
useblit=True, button=[1, 3], interactive=True,
minspanx=1, minspany=1, spancoords='pixels',
rectprops=dict(linestyle='-', color='g',
fill=True, alpha=1))
plt.show()
如果我想改变矩形颜色怎么办?
我会做:
RS.rectprops['color'] = 'r'
RS.canvas.draw()
fig.canvas.draw()
但这并不影响矩形的颜色。
有线索吗?
谢谢
如果你想更新你在图形上绘制的矩形补丁,而不是小部件,你可以使用:
current_ax.patches[0].set_facecolor('r')
或者(归功于 JohanC):
RS.artists[0].set_facecolor('r')
再次点击矩形后,会改变颜色
是否可以在创建 RectangleSelector 后更改它的属性?
假设我用以下矩形创建了一个图形:
from matplotlib.widgets import RectangleSelector
import matplotlib.pyplot as plt
def on_click(eclick, erelease):
pass
fig, current_ax = plt.subplots()
RS = RectangleSelector(current_ax, on_click, drawtype='box',
useblit=True, button=[1, 3], interactive=True,
minspanx=1, minspany=1, spancoords='pixels',
rectprops=dict(linestyle='-', color='g',
fill=True, alpha=1))
plt.show()
如果我想改变矩形颜色怎么办?
我会做:
RS.rectprops['color'] = 'r'
RS.canvas.draw()
fig.canvas.draw()
但这并不影响矩形的颜色。
有线索吗?
谢谢
如果你想更新你在图形上绘制的矩形补丁,而不是小部件,你可以使用:
current_ax.patches[0].set_facecolor('r')
或者(归功于 JohanC):
RS.artists[0].set_facecolor('r')
再次点击矩形后,会改变颜色