Python - matplotlib:如何更改 RectangleSelector 属性
Posted
技术标签:
【中文标题】Python - matplotlib:如何更改 RectangleSelector 属性【英文标题】:Python - matplotlib: how to change RectangleSelector properties 【发布时间】:2021-06-03 03:27:45 【问题描述】:是否可以在创建 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()
但这不会影响矩形的颜色。
有什么线索吗?
谢谢
【问题讨论】:
RS.artists[0].set_facecolor('r')
可以工作
谢谢。您的评论和接受的答案都可以正常工作!
【参考方案1】:
如果你想更新你在图上绘制的矩形补丁,而不是小部件,你可以使用:
current_ax.patches[0].set_facecolor('r')
或者(感谢 JohanC):
RS.artists[0].set_facecolor('r')
再次点击矩形后会变色
【讨论】:
以上是关于Python - matplotlib:如何更改 RectangleSelector 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中更改 matplotlib ax.text 中的小数位? [复制]
如何使用 matplotlib 更改 y 轴的比例? [复制]