我使用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
答案 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)。