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

时间:2020-04-30 13:11:57

标签: python matplotlib text alignment

我在以下情节上遇到麻烦:

enter image description here

由以下代码创建:

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

enter image description here

是否可以调整功能设置或任何其他方式来实现我想要的功能?

0 个答案:

没有答案