gpt4 book ai didi

python - 透明背景与 matplotlib 的 set_title()

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:02 31 4
gpt4 key购买 nike

我需要使用 set_title() 为绘图绘制标题,其背景以一定程度的透明度显示。

我已经尝试了三种方法(一种取自 this answer ),但似乎都不起作用。它们要么使文本的字体或边缘透明,但不使背景本身透明。

MWE:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)
ax.minorticks_on()
ax.grid(b=True, which='minor', color='k', linestyle='--', lw=0.5,
zorder=1)

# Method 1
ax.set_title("Title", x=0.5, y=0.92, fontsize=13, alpha=0.2,
bbox=dict(facecolor='none'))

# Method 2
# ax.set_title("Title", x=0.5, y=0.92, fontsize=13,
# bbox=dict(facecolor='none', alpha=0.2))

# Method 3
# t = ax.set_title("Title", x=0.5, y=0.92, fontsize=13)
# t.set_bbox(dict(facecolor='none', alpha=0.2, edgecolor='k'))

plt.savefig('test.png')

输出:

enter image description here

最佳答案

你快到了。问题是你有 facecolor='none',所以即使设置了 alpha,也没有什么可以透明的,你根本看不到背景.

您可以通过设置 facecolor='white' 来更改它,例如,修改您的“方法 2”:

ax.set_title("Title", x=0.5, y=0.92, fontsize=13,
bbox=dict(facecolor='white', alpha=0.5))

enter image description here

这也有使黑色边框透明的副作用。

解决该问题的一种方法是将 facecoloredgecolor 显式定义为 (R,G,B,A) 元组,并确保 edgecolor 具有 alpha=1:

ax.set_title("Title", x=0.5, y=0.92, fontsize=13,
bbox=dict(facecolor=(1,1,1,0.5),edgecolor=(0,0,0,1)))

enter image description here

关于python - 透明背景与 matplotlib 的 set_title(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720935/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com