Python:如何在letters/variables上写一个点,表示物理学中的时间导数?

Python: How do I write a dot over letters/variables, signifying the time derivative in physics?

我正在寻找一种在 letters/variables 上方放置一个粗点以表示时间导数的方法。 Python 本身的理想选择,但主要用于 matplotlib 轴。

我希望有类似的东西:

print(u'1\u0305')

虽然这是一个非常基本的问题,但我找不到任何东西,特别是因为 Python 中的术语“点符号”完全不同。

提前致谢。

字母 (combining dot above) 上方的点的值(unicode 代码点)是 '\u0307',因此将它与任何字母组合将得到该字母,但上面有一个点。

dot = '\u0307'
print('n' + dot)  # ṅ
print('a' + dot)  # ȧ
print('v' + dot)  # v̇

如果您希望这些引用向量,通常使用 arrow right above

arrow = '\u20D7'
print('n' + arrow)  # n⃗
print('a' + arrow)  # a⃗
print('v' + arrow)  # v⃗

或者,您可以使用 combining macron

macron = '\u0304'
print('n' + macron)  # n̄
print('a' + macron)  # ā
print('v' + macron)  # v̄

在 matplotlib 中使用 LaTeX 符号。

import numpy as np
from matplotlib import pyplot as plt

plt.plot(np.random.random((5,)))
plt.xlabel('x')
plt.ylabel(r'$\dot{y}$')

您可以像 Ted 展示的那样使用 unicode 字符命名变量,但在我看来,这只会让编程变得更加困难,因为标准键盘无法轻松输入这些字符。