Python matplotlib中quiverkey的背景色

Python matplotlib中quiverkey的背景色,python,matplotlib,Python,Matplotlib,如何定义添加到matplotlib中箭袋图的背景色? 在下面的示例中,如何将其设置为白色以使其更具可读性(即使它覆盖了部分图形) 您可以使用set\u backgroundcolor功能更改箭袋钥匙文本属性中的背景色。一个完整的例子 import matplotlib.pyplot as plt import numpy.random numpy.random.seed(2) x,y = numpy.meshgrid(range(11), range(11)) u,v = numpy.rand

如何定义添加到
matplotlib
中箭袋图的背景色? 在下面的示例中,如何将其设置为白色以使其更具可读性(即使它覆盖了部分图形)


您可以使用
set\u backgroundcolor
功能更改箭袋钥匙文本属性中的背景色。一个完整的例子

import matplotlib.pyplot as plt
import numpy.random

numpy.random.seed(2)
x,y = numpy.meshgrid(range(11), range(11))
u,v = numpy.random.randn(101), numpy.random.randn(101)

qv = plt.quiver(x,y,u,v)
qk = plt.quiverkey(qv, .5, 0.8, 5, 'Here is my background', coordinates='axes',
              fontproperties={'weight': 'bold'}, color='r', labelcolor='g')
t = qk.text.set_backgroundcolor('w')
plt.show()

谢谢@Ed Smith。但是,这可能会导致问题,因为此操作中不包括键箭头(没有背景),例如,如果
标签ep
过低,可能会被文本背景覆盖。。。你知道如何同时处理文本和箭头(而不必使用
矩形
补丁…)吗?据我所知,
quiverkey
是一个艺术家,它包含
文本
向量
对象。文本对象有一个关联的透明
bbox
,通过调用
set\u backgroundcolor
,可以将其更改为颜色(此过程不会添加新的矩形补丁)。您可能可以更改
qk.text.setèzorder
/
qk.vector.setèzorder
以在重叠出现问题时将文本移动到箭头下方。抱歉,箭头是箭袋对象
qk.Q
,因此可以通过
qk.Q.setèzorder
更改顺序。我认为没有任何方法可以改变
quiverkey
artist对象作为一个整体的背景…谢谢@Ed Smith。我希望能找到一个解决方案,使
quiverkey
作为一个整体可以作为背景(我唯一想到的解决方案是在后面放置一个矩形补丁-这确实不是你提出的),但它似乎不存在。。。这就是说,我似乎无法更改箭头的
zorder
,您是否可以发布示例(您可以在
quiverkey
中使用
labelsep=0.03
使其变得明显)或发布文档链接?谢谢您好@ztl,
zorder
quiverkey
中似乎没有预期的效果(可能是一个bug?),我想如果需要,最好是手动绘制一个矩形,确保箭头和文本都清晰。。。
import matplotlib.pyplot as plt
import numpy.random

numpy.random.seed(2)
x,y = numpy.meshgrid(range(11), range(11))
u,v = numpy.random.randn(101), numpy.random.randn(101)

qv = plt.quiver(x,y,u,v)
qk = plt.quiverkey(qv, .5, 0.8, 5, 'Here is my background', coordinates='axes',
              fontproperties={'weight': 'bold'}, color='r', labelcolor='g')
t = qk.text.set_backgroundcolor('w')
plt.show()