You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib标题字符串如何设置多空格?

解决Matplotlib标题连续空格被合并的问题

Matplotlib默认文本渲染逻辑会自动合并连续空格,这是排版引擎的默认行为,大概率和你重装系统后版本更新带来的规则变化有关(旧版本默认字体或渲染逻辑可能不同)。以下是几种可行的解决方法:

方法1:使用不折叠空格的字体

指定等宽字体(比如monospace),这类字体不会自动合并连续空格,能完整保留空格格式:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
title = r"Hello    This    Should    Have    LOTS    OF    Space"
fig.suptitle(title, fontfamily='monospace')
plt.show()

方法2:用非换行空格替换普通空格

非换行空格(Unicode编码\u00A0)不会被渲染引擎折叠,可手动替换或批量处理:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
title = r"Hello    This    Should    Have    LOTS    OF    Space"
# 替换所有普通空格为非换行空格
title_with_spaces = title.replace(' ', '\u00A0')
fig.suptitle(title_with_spaces)
plt.show()

方法3:设置文本的whitespace参数(Matplotlib 3.6+支持)

从Matplotlib 3.6版本开始,可通过whitespace='pre'保留原始空格格式,类似HTML的white-space: pre规则:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
title = r"Hello    This    Should    Have    LOTS    OF    Space"
fig.suptitle(title, whitespace='pre')
plt.show()

内容的提问来源于stack exchange,提问作者reloh100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:17:33