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

Matplotlib:使用粗体文本时冒号周围出现奇怪空白的解决咨询

解决Matplotlib标题中粗体时间冒号周围空白的问题

问题原因

你代码里把时间放在了LaTeX数学环境$...$中,使用数学模式的\bf命令加粗。而LaTeX数学模式下,冒号被当作二元运算符处理,会自动在其前后添加空格,这就是出现空白的原因。

解决方案

以下几种方法可以消除这些空白:

方法1:使用Matplotlib原生富文本(无需LaTeX)

直接用<b>标签给时间部分加粗,Matplotlib默认支持这种富文本格式,避免进入数学模式:

import matplotlib.pyplot as plt
date = '2023/12/22'  # 注:原日期格式2023/22/12不符合常规日期逻辑,建议修正为合理格式
time = '19:20:21'
fig, ax = plt.subplots()
plt.title(f"{date}  <b>{time}</b> UTC")
plt.savefig('colon_title_test.png')

方法2:使用LaTeX的文本模式加粗命令

如果需要启用LaTeX渲染,使用\textbf(文本模式加粗命令)替代数学模式的\bf,且不要将时间放在数学环境中:

import matplotlib.pyplot as plt
plt.rcParams['text.usetex'] = True  # 启用LaTeX渲染
date = '2023/22/12'
time = '19:20:21'
fig, ax = plt.subplots()
plt.title(f"{date}  \\textbf{{{time}}} UTC")
plt.savefig('colon_title_test.png')

方法3:修正数学模式内的格式(不推荐)

如果一定要在数学模式中处理,需要将时间转为文本模式,避免冒号被当作数学运算符:

import matplotlib.pyplot as plt
plt.rcParams['text.usetex'] = True
date = '2023/22/12'
time = '19:20:21'
fig, ax = plt.subplots()
plt.title(date + '  ' + r'$\mathbf{\mathrm{' + time + r'}}~UTC$')
plt.savefig('colon_title_test.png')

这里\mathrm将时间内容转为文本模式,让冒号恢复正常无空格的显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:05:16