使注释框的部分内容透明化

问题描述 投票:1回答:1

如何使注释框中的文本只有一部分是透明的?

举个例子,这段代码(改编自 此处)

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

我想要这个词 透明的 的注释框中的文字是稍微透明的。然而,其余的文本(当地最大)应该像目前这样显示。

matplotlib text annotations formatting
1个回答
0
投票

你可以使用 阿尔法 参数,也可以在arrowprops参数dict内使用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

© www.soinside.com 2019 - 2024. All rights reserved.