在文本matplotlib中更改facecolor

时间:2013-10-10 16:44:54

标签: python matplotlib

我想在图表上的文本框中更改文本和facecolor。

我像这样创建我的文本框:

props = dict(boxstyle='round', facecolor='red', alpha=0.3)

ax.text(0.03, 0.97, 'test', transform=ax.transAxes, fontsize=10, verticalalignment='top', bbox=props)

改变文字很好,我这样做:

ax.texts[-1].set_text('new text')

但是我找不到改变颜色的命令。

基本上我想要像

这样的东西
ax.texts[-1].set_color('blue').

2 个答案:

答案 0 :(得分:2)

您可以通过访问与文本框关联的修补程序对象来执行此操作。我发现this example很有帮助。

from pylab import subplot, show, draw
ax = subplot(111)
props = dict(boxstyle='round', facecolor='red', alpha=0.3) 
t = ax.text(0.03, 0.97, 'test', transform=ax.transAxes, fontsize=10, verticalalignment='top', bbox=props)
show()
bb = t.get_bbox_patch()
bb.set_facecolor('blue')
draw()

答案 1 :(得分:0)

我认为以下内容更为简单:

t = ax.text(0.03, 0.97, 'test', transform=ax.transAxes, fontsize=10, verticalalignment='top', `bbox=dict(facecolor='blue', alpha=0.5)`)

只需在ax.text语句中输入bbox=dict(facecolor='blue', alpha=0.5)即可更改颜色。我添加了alpha以指示其他属性也可以更改。