在matplotlib图上裁剪文本

时间:2016-01-29 15:27:08

标签: python matplotlib

我正在制作一个情节,而我希望要在边缘裁剪文字。现在它悬挂在边缘上,这对于可读性来说非常好,但不是我真正想要的。

这是我正在做的玩具版本:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure()
ax = fig.add_subplot(111)

ax.scatter(np.random.random(10), np.random.random(10))
ax.text(0.8, 0.5, "a rather long string")

plt.show()

my matplotlib example

为了清楚起见,我想裁剪我的text元素,但不是其他任何内容 - 例如我想将0.9单独留在 x -axis中。

1 个答案:

答案 0 :(得分:3)

您应该将文本的剪辑框设置为described in the documentation

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure()
ax = fig.add_subplot(111)

ax.scatter(np.random.random(10), np.random.random(10))
ax.text(0.8, 0.5, "a rather long string",
        clip_box=ax.clipbox, clip_on=True)
ax.set_xlim(0, 1)

plt.show()

这导致

enter image description here