gpt4 book ai didi

python - 在 matplotlib 中注释尺寸

转载 作者:行者123 更新时间:2023-11-28 20:49:15 24 4
gpt4 key购买 nike

我想在 matplotlib 图形中注释某些长度。例如,A点和B点之间的距离。

为此,我想我可以使用 annotate并弄清楚如何提供箭头的开始和结束位置。或者,使用 arrow并标记点。

我尝试使用后者,但我不知道如何获得双向箭头:

from pylab import *

for i in [0, 1]:
for j in [0, 1]:
plot(i, j, 'rx')

axis([-1, 2, -1, 2])
arrow(0.1, 0, 0, 1, length_includes_head=True, head_width=.03) # Draws a 1-headed arrow
show()

如何创建双向箭头?更好的是,是否有另一种(更简单的)方法来标记 matplotlib 图形中的尺寸?

最佳答案

例如,您可以使用 arrowstyle 属性更改箭头的样式

ax.annotate(..., arrowprops=dict(arrowstyle='<->'))

给出一个双头箭头。

可以找到一个完整的例子here大约三分之一的页面可能有不同的样式。

至于在地 block 上标记尺寸的“更好”方法,我想不出任何办法。

编辑:这是一个完整的示例,如果有帮助,您可以使用

import matplotlib.pyplot as plt
import numpy as np

def annotate_dim(ax,xyfrom,xyto,text=None):

if text is None:
text = str(np.sqrt( (xyfrom[0]-xyto[0])**2 + (xyfrom[1]-xyto[1])**2 ))

ax.annotate("",xyfrom,xyto,arrowprops=dict(arrowstyle='<->'))
ax.text((xyto[0]+xyfrom[0])/2,(xyto[1]+xyfrom[1])/2,text,fontsize=16)

x = np.linspace(0,2*np.pi,100)
plt.plot(x,np.sin(x))
annotate_dim(plt.gca(),[0,0],[np.pi,0],'$\pi$')

plt.show()

关于python - 在 matplotlib 中注释尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14892619/

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