Python matplotlib标题内联字符串中符号上方的单词

Python matplotlib标题内联字符串中符号上方的单词,python,matplotlib,Python,Matplotlib,我正在尝试在我的matplotlib绘图中创建一个信息性标题。我将这些信息添加到一个字符串中,这个字符串用于设置我的绘图标题。这个“标题”可能看起来像: A --> B --> C --> D 现在,根据各种因素,我想在箭头上方加一个小字,表示一些东西,例如: walk bus train A --> B --> C --> D 首先,我尝试使用LaTeX和\overset,但到目前为止

我正在尝试在我的
matplotlib
绘图中创建一个信息性标题。我将这些信息添加到一个字符串中,这个字符串用于设置我的绘图标题。这个“标题”可能看起来像:

A  -->   B   -->   C   -->   D
现在,根据各种因素,我想在箭头上方加一个小字,表示一些东西,例如:

   walk      bus      train
A  -->   B   -->   C   -->   D
首先,我尝试使用LaTeX和
\overset
,但到目前为止,直到
matplotlib
更新为3.4或其他版本,它似乎才起作用。理论上,我也可以计算字符,然后在上面加一行字,然后把字几乎放在正确的位置,但我认为这不会很漂亮


那么有没有其他方法来实现这一点呢?

您可以使用
\stackrel
吗?它与我的系统上的Matplotlib 3.1.3配合使用:

plt.title(r'$A\stackrel{\mathrm{walk}}{\longrightarrow}B$')
plt.show()
更新:对于Matplotlib 3.3:

plt.title(r'$A\genfrac{}{}{0}{}{\mathrm{walk}}{\longrightarrow}B$')
输出:


你能用
\stackrel
吗?它与我的系统上的Matplotlib 3.1.3配合使用:

plt.title(r'$A\stackrel{\mathrm{walk}}{\longrightarrow}B$')
plt.show()
更新:对于Matplotlib 3.3:

plt.title(r'$A\genfrac{}{}{0}{}{\mathrm{walk}}{\longrightarrow}B$')
输出:

您也可以这样做

导入matplotlib.pyplot作为plt
将numpy作为np导入
plt.rc('text',usetex=True)
params={'text.latex.premission':[r'\usepack{mathtools}',r'\usepack{amsmath}',r'\usepack{aligned overset}]}
plt.rcParams.update(参数)
#在本例中使用一些虚拟数据
xs=np.random.randint(0,10,size=10)
ys=np.random.randint(-5,5,size=10)
#画出要点
图=plt.图(图尺寸=(10,6))
plt.title(r'$\mathbf{A\buildrel{walk}\over{-->}B\buildrel{bus}\over{-->}C\buildrel{train}\over{-->}D}$',fontsize=16,fontwweight='bold')
小地块(111)
plt.plot(xs,ys,'b-')
plt.tick_参数(axis='both',其中='major',labelsize=20)
plt.tick_参数(axis='both',which='minor',labelsize=20)
plt.grid()
您也可以这样做

导入matplotlib.pyplot作为plt
将numpy作为np导入
plt.rc('text',usetex=True)
params={'text.latex.premission':[r'\usepack{mathtools}',r'\usepack{amsmath}',r'\usepack{aligned overset}]}
plt.rcParams.update(参数)
#在本例中使用一些虚拟数据
xs=np.random.randint(0,10,size=10)
ys=np.random.randint(-5,5,size=10)
#画出要点
图=plt.图(图尺寸=(10,6))
plt.title(r'$\mathbf{A\buildrel{walk}\over{-->}B\buildrel{bus}\over{-->}C\buildrel{train}\over{-->}D}$',fontsize=16,fontwweight='bold')
小地块(111)
plt.plot(xs,ys,'b-')
plt.tick_参数(axis='both',其中='major',labelsize=20)
plt.tick_参数(axis='both',which='minor',labelsize=20)
plt.grid()

您是否在询问如何格式化多行字符串以用作标题?您是否尝试过使用以下方法的解决方案:;计算宽度和位置以确定除了顶行中的字符以外的位置?您是否询问如何格式化多行字符串以用作标题?您是否尝试过使用以下方法的解决方案:;计算宽度和位置以确定除了顶行中的字符以外的位置?看起来不像,它只是说:
ValueError:A\stackrel{\mathrm{walk}{\longrightarrow}B^未知符号:\stackrel,找到了“\”(在字符1处),(第1行,第2列)
我有3个。3@DenverDang从我的系统中的警告来看,matplotlib 3.3中的
\stackrel
将被
\genfrac
替换。不知怎的,这次警告显示了出来,但不是我第一次运行它。@DenverDang看到了更新的答案。看起来不像,它只是说:
ValueError:A\stackrel{\mathrm{walk}}{\longrightarrow}B^未知符号:\stackrel,找到了“\”(在字符1),(第1行,第2列)
我有3个。3@DenverDang从我的系统中的警告来看,matplotlib 3.3中的
\stackrel
将被
\genfrac
替换。不知怎的,这次警告显示了出来,但不是我第一次运行它。@DenverDang查看更新的答案。