gpt4 book ai didi

python - 在绘图上绘制括号

转载 作者:太空狗 更新时间:2023-10-29 17:06:34 27 4
gpt4 key购买 nike

如果我想像这样在情节的某些部分上画括号,我该怎么做:

brackets over plot

目前我正在用 powerpoint 添加它们,但我想完全用 python 来完成。

谢谢你的帮助

最佳答案

获得您想要的(或非常接近它的东西)的一种方法是使用 matplotlib 的 annotate 函数,它允许您非常广泛地自定义箭头函数(参见 official tutorial )。这是一个示例,其中包含一些虚构的绘图数据,以显示如何根据您的标签要求使用它:

import matplotlib.pyplot as plt
import numpy as np

# Make some fake data and a sample plot
x = np.arange(1,100)
y = x**2 * 1.0e6
ax = plt.axes()
ax.plot(x,y)

# Adjust the fontsizes on tick labels for this plot
fs = 14.0
[t.set_fontsize(fs) for t in ax.xaxis.get_majorticklabels()]
[t.set_fontsize(fs) for t in ax.yaxis.get_majorticklabels()]
ax.yaxis.get_offset_text().set_fontsize(fs)

# Here is the label and arrow code of interest
ax.annotate('SDL', xy=(0.5, 0.90), xytext=(0.5, 1.00), xycoords='axes fraction',
fontsize=fs*1.5, ha='center', va='bottom',
bbox=dict(boxstyle='square', fc='white'),
arrowprops=dict(arrowstyle='-[, widthB=7.0, lengthB=1.5', lw=2.0))

enter image description here

annotate 函数包含您想要的文本标签以及用于箭头定位的参数 (xy) 和文本本身 (xycoords) 和一些通用的定位和字体大小命令。

可能最感兴趣的是 bboxarrowprops 参数。 bbox 参数在带有白色背景的标签周围绘制一个正方形。 arrowprops 涉及更多——arrowstyle 键设置箭头的头部(在本例中为括号)以及头部的宽度和长度。请注意,这都是 arrowstyle 下的一个字符串。最后,箭头的线宽略有增加。

您可能需要调整 xyxytextwidthBlengthB 和箭头的 lw 得到你想要的一切。

有一件事不是很清楚(或者至少当我想出来的时候我不是很清楚)是当 annotate 包含一个 arrowstyle 参数时,matplotlib 使用FancyArrowPatch properties ,但是当缺少 arrowstyle 时,它使用 YAArrow properties . annotate 的文档中显然有更多细节(以及这种区别)。 .

关于python - 在绘图上绘制括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320437/

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