matplotlib文本仅在绘图区域中

时间:2014-02-17 15:45:14

标签: python matplotlib

我使用matplotlib库在python中绘制数据。在我的图中,我也有一些文字来区分数据。问题是文本在图窗口中越过边界。是否有可能使绘图的边框在相应位置切断文本,并且只有当我在绘图内平移时,其余文本才可见(但仅限于绘图区域内)。我使用text()函数来显示文本

[编辑:

代码如下所示:

fig = plt.figure()
ax = fig.add_subplot(111)
# ...
txt = ax.text(x, y, n, fontsize=10)
txt.set_clip_on(False) # I added this due to the answer from tcaswell

2 个答案:

答案 0 :(得分:1)

你只需告诉文字艺术家不要剪辑:

txt = ax.text(...)

txt.set_clip_on(False)  # this will turn clipping off (always visible)
# txt.set_clip_on(True) # this will turn clipping on (only visible when text in data range)

但是,有一个错误matplotlib(https://github.com/matplotlib/matplotlib/pull/1885现已修复),这使得这不起作用。另一种方法(如评论中所述)是 使用

txt = ax.text(..., clip_on=True)

答案 1 :(得分:0)

我认为你的文字越过了边界,因为你没有设定你的情节限制。 你为什么不尝试这个?

 fig=figure()
 ax=fig.add_subplot(1,1,1)
 text(0.1, 0.85,'dummy text',horizontalalignment='left',verticalalignment='center',transform = ax.transAxes)

这样你的文字将始终在图中,其左角将以你的图为单位的点(0.1,0.85)。