1. ホーム
  2. python

[解決済み] Python のプロットにおける上付き添え字

2022-02-18 16:09:05

質問

X軸に以下のようなラベルを付けたいのですが。

pylab.xlabel('metres 10^1')

しかし、^記号が含まれないようにしたい .

pylab.xlabel('metres 10$^{one}$')

この方法はうまくいって、文字を上付きにすることができますが、数字に対してはうまくいかないようです。 試してみると:

pylab.xlabel('metres 10$^1$')

なぜかNの文字が上付きになる。

Python のプロットで数字を上付きにする方法を知っている人はいますか? ありがとうございます。

どのように解決するのですか?

の中に完全な式を記述するだけです。 $ . 基本的には "meters $10^1$" . は必要ありません。 usetex=True を実行する必要があります(ほとんどの数式も同様)。

また、生の文字列(例えば r"\t" 対して "\t" などの問題を回避するため) \n , \a , \b , \t , \f など。

例えば

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set(title=r'This is an expression $e^{\sin(\omega\phi)}$',
       xlabel='meters $10^1$', ylabel=r'Hertz $(\frac{1}{s})$')
plt.show()

<イグ

上付き文字が他の部分と異なるフォントで表示されたくない場合は \mathregular (または同等に \mathdefault ). 一部の記号は使用できませんが、ほとんどの記号は使用できます。 これは特に、あなたのような単純な上付き文字で、式をテキストの残りの部分と調和させたい場合に便利です。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set(title=r'This is an expression $\mathregular{e^{\sin(\omega\phi)}}$',
       xlabel='meters $\mathregular{10^1}$',
       ylabel=r'Hertz $\mathregular{(\frac{1}{s})}$')
plt.show()

<イグ

より詳細な情報(および matplotlib の "mathtext" の一般的な概要)については、以下を参照してください。 http://matplotlib.org/users/mathtext.html