5

matplotlibがログプロットに10の累乗を表示せず、代わりに数値を表示するようにする簡単な方法はありますか?[10^1, 10^2, 10^3]つまり、表示の代わりに[10, 100, 1000]?目盛りの位置を変更したくはありません。10の累乗を削除したいだけです。

これは私が現在持っているものです: ここに画像の説明を入力してください

を介してラベル自体を変更できますがxticks、yティックラベルのフォントまたはサイズが一致しません。このテキストにはTeXを使用しています。私は次のことを試しました:

xx, locs = xticks()
ll = [r'\rm{%s}' % str(a) for a in xx]
xticks(xx, ll)

これにより、次の結果が得られます。 ここに画像の説明を入力してください

この特定のケースでは、同じLaTeX romanフォントを使用できますが、サイズと外観はy軸のものとは異なります。さらに、matplotlibで別のLaTeXフォントを使用した場合、これは問題になります。

10の冪表記をオフにするより柔軟な方法はありますか?

4

1 に答える 1

11

次を使用しScalarFormatterます。

from matplotlib import rc
rc('text', usetex=True)
rc('font', size=20)

import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter

fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
ax.semilogx(range(100))
ax.xaxis.set_major_formatter(ScalarFormatter())
plt.show()

ここに画像の説明を入力

于 2012-11-30T05:58:08.047 に答える