5

我正在使用命令:

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

要为我的轮廓生成标签,我希望它们是白色的(colors='white' 作品),带有红色背景,我找不到是否可以为它们指定背景颜色?

4

2 回答 2

7

我参加聚会晚了几年,但这个答案仍在谷歌上出现,所以这是我受到@pelson 答案启发而破解的解决方案。

如果将等高线图设置为:

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

然后你可以简单地使用更新背景颜色

[txt.set_backgroundcolor('white') for txt in clabels]

然而,边界框 ( bbox) 非常大,并且经常不必要地遮挡其他特征。所以最好bbox直接更新:

[txt.set_bbox(dict(facecolor='white', edgecolor='none', pad=0)) for txt in clabels]
于 2015-09-24T08:55:19.240 回答
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 更新您的问题,我将发布一些工作代码。

高温下,

于 2013-04-11T20:54:07.457 回答