Python及Matplotlib中如何给变量上方加粗圆点表示物理时间导数
实现方案
1. Python原生字符串实现
物理时间导数对应的上圆点Unicode组合字符为 \u0307(单圆点,对应一阶导数),直接附加在目标变量字符后即可生成上方带点的效果,实现逻辑和你给出的横线示例完全一致,示例代码如下:
# 一阶时间导数:x上方加单圆点 print(u'x\u0307') # 二阶时间导数:x上方加双圆点,对应Unicode为\u0308 print(u'x\u0308')
注:渲染效果依赖当前运行环境的字体对组合字符的支持,部分老旧字体可能出现圆点错位问题
2. Matplotlib坐标轴适配方案
针对Matplotlib场景更推荐使用内置的LaTeX语法实现,适配性更强,不需要依赖特殊字符支持,完全符合物理领域的标注规范:
- 单圆点一阶导数用法:
$\dot{变量名}$ - 双圆点二阶导数用法:
$\ddot{变量名}$ - 粗圆点需求可以搭配
\boldsymbol实现:$\boldsymbol{\dot{变量名}}$
完整示例代码:
import matplotlib.pyplot as plt # 给x轴设置带粗圆点的一阶导数标签 plt.xlabel(r'$\boldsymbol{\dot{x}}$ (m/s)') # 给y轴设置带粗圆点的二阶导数标签 plt.ylabel(r'$\boldsymbol{\ddot{x}}$ (m/s²)') plt.plot([1,2,3], [2,4,6]) plt.show()
如果需要关闭LaTeX渲染也能正常显示,可以直接搭配前面的Unicode字符使用:
plt.xlabel(u'x\u0307 (m/s)')
以上两种写法都可以适配Matplotlib的坐标轴标签、刻度文本、图例等所有文本场景。
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

