Python 自动调整matplotlib绘图中的文字位置以避免重叠(仅适用于y轴)

Python 自动调整matplotlib绘图中的文字位置以避免重叠(仅适用于y轴),python,matplotlib,text,alignment,Python,Matplotlib,Text,Alignment,我在以下情节中遇到问题: 由以下代码创建: fig, ax = plt.subplots(figsize=(10, 6), dpi=80) texts = [] for i, data_col in enumerate(data.columns.values): ax.plot(data.index, data[data_col], color=tableau20[i], label=data_col) texts.append(ax.text(max(data.index),

我在以下情节中遇到问题:

由以下代码创建:

fig, ax = plt.subplots(figsize=(10, 6), dpi=80)
texts = []
for i, data_col in enumerate(data.columns.values):
    ax.plot(data.index, data[data_col], color=tableau20[i], label=data_col)
    texts.append(ax.text(max(data.index), data[data_col][-1], data_col, fontsize=11, color=tableau20[i]))
这实际上非常接近所需的输出,我正在寻找一种方法来自动调整文本的y位置,这样即使值发生变化也不会有重叠(因此没有硬编码偏移) 我发现@Phlya的adjustText包运行良好,但是我没有得到只调整y位置的解决方案,它也总是在x轴上移动文本

这是我通过添加行得到的输出

adjust_text(texts, ax=ax, only_move=dict(points='y', text='y', objects='y'), autoalign='y')

是否有办法调整功能设置或任何其他方式来实现我所寻找的