Matplotlib - 添加与坐标轴底部对齐的标签
我想在我的图表上给竖线添加标签(在这个例子中是紫色线 - '这里放文本')。
问题是我不知道Y轴的最小值,因为这个轴是自动生成的,而text()函数需要一个x值和一个y值。
我想要么把文本对齐到图表的底部,要么找到Y轴的最小值(在这个例子中,matplotlib似乎是获取了最小轴值并向下取整到主要轴值)。
我现在正试图用text()来实现这个。
这些竖线是用axvline()创建的。
下面是我想要实现的效果的截图;
(注意,图像上的文本是我在屏幕捕捉软件中添加的,用来显示我想要文本出现的位置)
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')