使注释框的一部分透明

时间:2018-05-03 15:19:02

标签: matplotlib text annotations formatting

如何才能使注释框中的部分文本透明?

例如,此代码(改编自here

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

t = np.arange(0.0, 5.0, 0.01)
s = np.cos(2*np.pi*t)
line, = ax.plot(t, s, lw=2)

ax.annotate('local max (transparent)', xy=(2, 1), xytext=(3, 1.5),
            arrowprops=dict(facecolor='black', shrink=0.05),
            )

ax.set_ylim(-2,2)
plt.show()

产生以下输出:

enter image description here

我希望注释框中的 transparent 这个词略微透明。但是,文本的其余部分(局部最大值)应按当前显示。

1 个答案:

答案 0 :(得分:0)

您可以使用 alpha 参数。您还可以在arrowprops参数dict中使用alpha来使箭头透明。

ax.annotate('local max (transparent)', xy=(2, 1), xytext=(3, 1.5),
        arrowprops=dict(facecolor='black', shrink=0.05,alpha=0.5),
        alpha=0.5
        )

它将产生以下情节:

Plot