gpt4 book ai didi

python - matplotlib:如何缓冲标签文本?

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:34 24 4
gpt4 key购买 nike

我想在 matplotlib 中有一个围绕注释文本的彩色缓冲区。这张在 QGIS 中截取的屏幕截图显示了它的样子(红色):

buffered text in GIS

我尝试了什么

我天真的方法是用不同的字体大小和字体粗细绘制两次“Some text”。两次的结果看起来都不令人信服。 bbox 解决方案“有效”,但不具有与缓冲文本相同的美感。

%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

# font size
plt.annotate(
'Some text', xy=(.5, .75), color=(.7, .7, .7),
ha='center', va='center', fontsize='20')
plt.annotate(
'Some text', xy=(.5, .75), color=(.2, .3, .8),
ha='center', va='center', fontsize='16')

# font weight
plt.annotate(
'Some text', xy=(.5, .5), color=(.7, .7, .7),
ha='center', va='center', fontsize='16', weight='bold')
plt.annotate(
'Some text', xy=(.5, .5), color=(.2, .3, .8),
ha='center', va='center', fontsize='16')

# bbox
plt.annotate(
'Some text', xy=(.5, .25), color=(.2, .3, .8),
ha='center', va='center', fontsize='16',
bbox=dict(fc=(.7, .7, .7), lw=0, pad=5))

结果

matplotlib exercises to recreate buffered text

所以我的问题是

(如何)有可能(通过合理的努力)在 matplotlib 中重新创建缓冲文本?

最佳答案

here 有详细的演示使用路径效果勾勒出各种图形对象。这是一个专注于文本元素的最小示例。

import matplotlib.pyplot as plt
import matplotlib.patheffects as pe

fig, ax = plt.subplots()
txt = ax.text(0.5, 0.5, "test",
size=20,
color='white',
path_effects=[pe.withStroke(linewidth=4, foreground="red")])

Example output showing white text outlined in red

关于python - matplotlib:如何缓冲标签文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426599/

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