ホームページ >バックエンド開発 >Python チュートリアル >Matplotlib プロットで指数表記を回避するには?

Matplotlib プロットで指数表記を回避するには?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 20:42:31279ブラウズ

How to Avoid Exponential Notation in Matplotlib Plots?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。