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')
是否有办法调整功能设置或任何其他方式来实现我所寻找的