在matplotlib中对齐注释

时间:2014-03-25 00:14:53

标签: python matplotlib

我在弄清楚如何对齐两个注释时遇到了一些麻烦。我希望标签位于连接两个箭头的条的中点。我希望有一种方法可以指定一个转换,允许我在指定箭头和标签时使用类似的单位。任何帮助表示赞赏!! enter image description here

使用以下代码,如果我调整offset,我最终可以产生可接受的结果(只要我不更改设置,如图的大小)。

我还尝试为'axes points'xycoords指定textcoords,认为armAarmB是分数。

f = plt.figure()
ax = f.add_subplot(1,1,1)
f.subplots_adjust(bottom=0.2)
offset = -0.05

# create the arrow annotation
ann = ax.annotate("", (0.6, -0.1), xycoords=('data', 'axes fraction'), 
                  xytext=(.8, -0.1), textcoords=('data', 'axes fraction'),
                  arrowprops=dict(arrowstyle="<->",
                  connectionstyle="bar,armA=-20,armB=-20,angle=0,fraction=0.0"))

# add a label to the center of the bar
ann_label = ax.annotate('foo', (.7, -0.1+offset),
                        xycoords=('data', 'axes fraction'), 
                        bbox=dict(boxstyle='round', fc='white'), 
                        ha='center', va = 'center')

0 个答案:

没有答案