【Python】Seaborn/MatplotlibのcatplotでY軸の指数表記(科学的記数法)を非表示にする方法
SeabornやMatplotlibで棒グラフなどを描画した際、Y軸の値が大きいと「1e+06」のような指数表記(科学的記数法)で表示されることがあります。これを通常の数値表示に戻すには、ticklabel_format()メソッドにstyle="plain"を指定します。
手順
- 図のサイズを設定し、figure.autolayoutを有効にして余白を自動調整します。
- col1とcol2の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'を指定してください。
-
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
-
Python MatplotlibでY軸の値(目盛りラベル)を指定する方法
PythonのMatplotlibでは、yticks()メソッドを使うことで、Y軸に表示する値や目盛りラベルを自由に指定できます。X軸の場合はxticks()を使用します。この記事では、具体的な手順とサンプルコードを通して、軸の目盛りをカスタマイズする方法を解説します。 Y軸の値を指定する手順 以下の手順で、Matplotlibのグラフに任意の目盛りラベルを設定できます。 numpyを使ってxおよびyのデータポイントを作成します。 軸に表示したい値として、文字列のリストを作成します。 xticks()メソッドとyticks()メソッドを使用し、それぞれX軸・Y軸の目盛りの位置とラベルを指定し