Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】Seaborn/MatplotlibのcatplotでY軸の指数表記(科学的記数法)を非表示にする方法

SeabornやMatplotlibで棒グラフなどを描画した際、Y軸の値が大きいと「1e+06」のような指数表記(科学的記数法)で表示されることがあります。これを通常の数値表示に戻すには、ticklabel_format()メソッドにstyle="plain"を指定します。

手順

  • 図のサイズを設定し、figure.autolayoutを有効にして余白を自動調整します。
  • col1col2の2つの列を持つPandasのデータフレームを作成します。
  • かつてのfactorplot()は、現在catplot()に名称変更されているため注意してください。
  • 指数表記を抑制するために、ticklabel_format()メソッドでstyle='plain'を指定し、対象の軸としてaxis='y'を設定します。
  • plt.show()を呼び出してグラフを表示します。

コード例

from matplotlib import pyplot as plt
import pandas as pd
import seaborn as sns

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame({"col1": [1, 3, 5, 7, 1], "col2": [1, 5, 7, 9, 1]})

sns.catplot(y="col1", x="col2", kind='bar', data=df, label="Total", height=3.5)

plt.ticklabel_format(style='plain', axis='y')

plt.show()

実行結果

上記のコードを実行すると、Y軸の目盛りが指数表記ではなく、通常の数値(プレーンな形式)で表示された棒グラフが出力されます。

補足:X軸にも適用する場合

X軸の指数表記を抑制したい場合は、引数をaxis='x'に変更するだけで同様に対応できます。また、両方の軸に適用したい場合はaxis='both'を指定してください。

  1. Seabornで2つのグラフを横に並べてプロットする方法(Matplotlib)

    データ分析では、複数のグラフを1つの図の中に並べて比較できると非常に便利です。この記事では、SeabornとMatplotlibを組み合わせて、2つのグラフを横並び(1行2列)で表示する方法を解説します。 実装の流れ 2つのグラフを並べて描画するには、以下の手順を実行します。 plt.subplots(1, 2) を使い、figureサイズ(7, 7)で1行2列のサブプロットを作成します。 Pandasを使って、col1 と col2 のキーを持つデータフレームを作成します。 countplot() メソッドを使用し、カテゴリごとの観測値の件数を棒グラフで可視化します。 subplots_a

  2. Python MatplotlibでY軸の値(目盛りラベル)を指定する方法

    PythonのMatplotlibでは、yticks()メソッドを使うことで、Y軸に表示する値や目盛りラベルを自由に指定できます。X軸の場合はxticks()を使用します。この記事では、具体的な手順とサンプルコードを通して、軸の目盛りをカスタマイズする方法を解説します。 Y軸の値を指定する手順 以下の手順で、Matplotlibのグラフに任意の目盛りラベルを設定できます。 numpyを使ってxおよびyのデータポイントを作成します。 軸に表示したい値として、文字列のリストを作成します。 xticks()メソッドとyticks()メソッドを使用し、それぞれX軸・Y軸の目盛りの位置とラベルを指定し