2

我想在图表上的垂直线上添加标签(在本例中为洋红色线 - 'TEXT TO GO HERE')。

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

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

我目前正在尝试使用 text()

垂直线是用 axvline() 创建的

屏幕截图显示我在下面尝试做的事情;

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

在此处输入图像描述

4

1 回答 1

6

您可以使用混合变换来做到这一点:

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')

变换教程

于 2013-02-02T23:31:39.357 回答