我一直在寻找一种方法,在matplotlib文本字段中左右对齐(例如,在OpenOffice中“边距调整”或ctrl-J
),以形成一个漂亮的列(分隔的通过matplotlib.axis
- 对象的宽度。我不确定正确的术语是“左右对齐”,但我希望它如下例所示:
仅左对齐的示例,即不是我想要的:
This is some sample text withsomeverylongwords
that I would like to be wrapped. It should adjust
to the left and right margin such that they are at
the same distance.
我想要的例子:
This is some sample text withsomevery-
longwords that I would like to be wra-
pped. It should adjust to the left and
right margin such that they are at the
same distance. It should not wrap the
final line.
matplotlib.text
有一个kwarg wrap=True
(example),但据我所知,它只包含图形宽度。此外,它只对齐左,右或中心,但不是两者。 This答案显示了如何换行到目标axis
,但没有经过边距调整的文字。它使用textwrap python module作为基础。
我想要的是一个包装文本的函数,最好是直接根据matplotlib轴。如果它需要削减长话,那么应该用短划线来做。不应该破坏Latexed方程,answer已经处理过。如果可能的话,它还应该调整每条线内的空间大小以使边缘笔直,但我相信这可能会更加困难(我想这可以通过字符串中的一些良好放置的Latex \hspace
来完成)。
这已经完成了吗?我很难想象它没有,因为每个现代文本编辑器,如MS Word和OO Write都有它,但我找不到任何这样的Python代码示例。如果不是,我会很想知道如何实现它。