如何在matplotlib中设置轮廓标签的背景颜色?

时间:2013-04-11 19:59:35

标签: matplotlib

我正在使用命令:

axins.clabel(c, levls, fontsize=4, fmt='%4.2f', colors= 'white')

为我的轮廓生成标签,我希望它们是白色的(颜色='白色'有效),红色背景,我无法找到是否可以为它们指定背景颜色?< / p>

2 个答案:

答案 0 :(得分:5)

我参加派对的时间已经晚了几年,但是这个答案仍然会出现在Google上,所以这里的解决方案受到了@pelson回答的启发。

如果将等高线图设置为:

CS = ax.contour(X, Y, Z)
clabels = ax.clabel(CS)

然后您可以使用

简单地更新背景颜色
[txt.set_backgroundcolor('white') for txt in clabels]

然而,边界框({​​{1}})非常大,并且经常不必要地遮盖其他特征。因此,最好直接更新bbox

bbox

答案 1 :(得分:3)

文字艺术家的backgroundcolor可能就是您所需要的(http://matplotlib.org/users/text_props.html)。 clabel通过labelTexts属性公开文本艺术家(似乎没有记录)。

像(未经测试)的东西:

clabels = ax.clabel(c, levls, color='white', ...)
[txt.set_backgroundcolor('red') for txt in clabels.labelTexts].

如果这不起作用,请使用SSCCE更新您的问题,我会发布一些有效的代码。

HTH,