Matplotlib プロットでの指数表記の回避
Matplotlib を使用してプロットを生成すると、軸上の数値が標準から切り替わる状況がよく発生します。数値形式を指数表記に変換します (例: "1050" から "1.057e3")。これは、特にグラフの特定のセクションを拡大する場合に望ましくない場合があります。
この動作を防ぐために、Matplotlib には目盛りラベルの書式設定をカスタマイズするオプションが用意されています。指数表記の処理は、通常は ScalerFormatter のインスタンスである Formatter オブジェクトによって制御されます。
定数シフトを無効にする
デフォルトでは、ScalerFormatter は次の場合に定数シフトを使用します。表示される値の部分的な変化は最小限です。この影響を回避し、標準の数値形式を強制的に表示するには、メジャー フォーマッタの useOffset フラグを False に設定します。
<code class="python">import matplotlib.pyplot as plt # Generate sample data x = range(0, 100, 10) + 1000 y = range(0, 100, 10) # Create a plot plt.plot(x, y) ax = plt.gca() # Get the current axis # Disable the constant shift ax.get_xaxis().get_major_formatter().set_useOffset(False) # Redraw the plot plt.draw()</code>
科学表記法を無効にする
科学表記法を完全に避けたい場合は、メジャー フォーマッタの set_scientific メソッドを使用できます。
<code class="python"># Disable scientific notation ax.get_xaxis().get_major_formatter().set_scientific(False)</code>
Global Configuration
あるいは、指数関数の使用を制御できます。 Matplotlib の構成設定の axes.formatter.useoffset パラメーターを変更して、表記法をグローバルに変更します:
<code class="python">plt.rcParams['axes.formatter.useoffset'] = False</code>
以上がMatplotlib プロットで指数表記を回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。