Python Matplotlib-添加与轴底部对齐的标签

Python Matplotlib-添加与轴底部对齐的标签,python,matplotlib,Python,Matplotlib,我想将标签添加到图表上的垂直线(在本例中为洋红色线-‘要转到此处的文本’) 问题是我不知道Y轴的最小值,因为该轴是自动的,text()函数需要一个x和Y值 我希望能够将文本与绘图底部对齐,或者找到最小Y轴值(在本例中,matplotlib似乎获得最小轴值并按长轴值向下舍入) 我目前正试图用text()实现这一点 垂直线是使用axvline()创建的 下面的截图显示了我正在尝试做什么 (注意,图像上的文本添加到我的屏幕捕获软件中,以显示我希望文本显示的位置) 您可以使用混合变换执行此操作: imp

我想将标签添加到图表上的垂直线(在本例中为洋红色线-‘要转到此处的文本’)

问题是我不知道Y轴的最小值,因为该轴是自动的,text()函数需要一个x和Y值

我希望能够将文本与绘图底部对齐,或者找到最小Y轴值(在本例中,matplotlib似乎获得最小轴值并按长轴值向下舍入)

我目前正试图用text()实现这一点

垂直线是使用axvline()创建的

下面的截图显示了我正在尝试做什么

(注意,图像上的文本添加到我的屏幕捕获软件中,以显示我希望文本显示的位置)


您可以使用混合变换执行此操作:

import matplotlib.transforms as transforms

fig = plt.figure()
ax = fig.add_subplot(111)

trans = transforms.blended_transform_factory(
    ax.transData, ax.transAxes)

ax.plot(range(50))
ax.axvline(20)

ax.text(20, 0.05, 'test', transform=trans, rotation='vertical', ha='right')

问题在于,我需要两种系统的混合,因为X值是一个日期。我想要的Y值正好在x轴上方,即刚好在1.5840上方,但即使将(0,0)变换回来,也不会得到1.5840。我尝试了标准变换和逆变换。@zio您所描述的正是这段代码的功能,x以数据单位表示,y以轴单位表示([0,1])