问题:下面是代码:
import matplotlib.pyplot as plt
plt.bar([1,2],[5,4])
plt.title('this is a very long title and therefore it gets cropped which is an unthinkable behaviour as it loses the information in the title')
plt.show()
字符串
这将创建一个看起来像这样的图形:
的数据
标题被裁剪了,我怎么才能让它显示整个标题?
我正在寻找一种解决方案,使图大小匹配标题和轴标签中的文本,而不是用换行符切割标题的解决方案,因为这种解决方案并不总是有帮助:
from textwrap import wrap
import matplotlib.pyplot as plt
title = 'this is a very long title and therefore it gets cropped which is an unthinkable behaviour as it loses the information in the title'*5
plt.bar([1,2],[5,4])
plt.title('\n'.join(wrap(title,60)))
plt.show()`
型
查看结果:
的
3条答案
按热度按时间uqdfh47h1#
您可以使用textwrap自动使用换行符(
\n
) Package 文本:字符串
在本例中,
100
是每行的字符数(精确到空格- textwrap尽量不打断单词)另一种选择是减小字体的大小:
型
km0tfn4u2#
您可以尝试在这里找到的解决方案。
这是相当多的代码,但它似乎处理文本 Package 的任何类型的文本的情节。
下面是解决方案中的代码,经过修改以适合您的示例:
字符串
这将生成以下图:
的数据
更新:
使用以下行在图的顶部和实际图的顶部之间创建更多空间:
型
例如,如果用途:
型
输出如下所示:
的
xwmevbvl3#
您可以在标题中包含换行符
\n
,以便在多行中分隔标题。