plt.axvline标签超出绘图限制

时间:2019-11-21 17:05:34

标签: python-3.x matplotlib

full-最清晰的图像,显​​示标签延伸到我图的右侧

"zoomed"-突出说明为什么会出现此问题,因为在选择和绘制x轴范围的子集时该图变得不可读

我正在处理一些数据,这些数据绘制了光谱并在特定位置添加了垂直线。我已经标记了这些线,但是我的问题是,如果我想通过减小我的x轴范围来“放大”,则仍然会绘制垂直线的标签的完整列表,从而导致绘图不可读。

我遍历我的垂直线的x位置和标签列表,并绘制如下:

for x_pos, label in zip(list_x_pos, list_label):
    plt.axvline(x=x_pos)
    plt.text(x_pos, y, str(label), rotation=90)

plt.xlim(2, 5)

所以,因为我的“ x值”大于5,所以得到的图是一个很小的图形,上面有一排标签。

我能想到的唯一解决方案是切片list_x_pos,但这会给我带来其他问题,因此理想地希望找到一种方法来仅显示图范围内的标签。

希望我有道理!

谢谢

Olie

2 个答案:

答案 0 :(得分:1)

您可以使用plt.text(..., clip_on=True)强制框内的文本不显示

答案 1 :(得分:-1)

首先调整轴的大小,然后绘制垂直线。