Matplotlib文字透明度
我在想,能不能在Matplotlib中改变文本的透明度。set_alpha
这个方法好像不管用,而且在文档里也没找到相关的信息。有没有什么其他的解决办法呢?
我想把这个功能和一个选择事件(pick_event)连接起来。
编辑:其实我是在尝试改变图例文本的透明度。虽然我用set_alpha
来解决这个问题,但我没注意到我是在修改一个列表的透明度,所以没成功。总结一下,从大家的回答来看,透明度确实可以用set_alpha
来修改。
2 个回答
2
如果你想给图例的文字设置透明度(alpha),你应该直接说明这一点:
ax.plot([1,2,3], [4,5,6], label='Null')
leg = ax.legend()
# print dir(leg) # inspection
for _txt in leg.texts:
_txt.set_alpha(0.3)
顺便提一下:因为我总是记不住在mpl文档中具体要找什么,所以我查看了图例对象。发现属性 texts
似乎很有用。
10
你可以在使用 annotate
添加文字到你的图形时,设置透明度(alpha)。
之前的效果:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.annotate("TESTING", xy=(.5, .5), xytext=(.5, .5))
plt.show()
之后的效果:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
text = ax.annotate("TESTING", xy=(.5, .5), xytext=(.5, .5))
text.set_alpha(.4)
plt.show()