matplotlib

【matplotlib】グラフタイトルの位置を変更する【Python】

MAX

matplotlibで作成したグラフのタイトルの位置を上下左右に調整する。

左右どちらかに寄せたり、スペースの都合などの場合によってはグラフ内にタイトルを表示したい時などに位置を変更できると便利。

スポンサーリンク

サンプルデータ読み込み

seabornからtipsを読み込む。

1import numpy as np
2import pandas as pd
3
4import matplotlib.pyplot as plt
5import japanize_matplotlib
6import seaborn as sns
7
8%matplotlib inline
9
10df_tips = sns.load_dataset("tips")

グラフタイトルの左右位置変更

plt.title()にlocを指定することで左右の位置を指定できる。

指定可能な値は「center」「left」「right」の3種類。デフォルトは「center」

グラフタイトルの中央寄せ

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8plt.title(f"title", loc="center")
9plt.tight_layout()
10plt.show()

グラフタイトルの左寄せ

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8plt.title(f"title", loc="left")
9plt.tight_layout()
10plt.show()

グラフタイトルの右寄せ

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8plt.title(f"title", loc="right")
9plt.tight_layout()
10plt.show()

グラフタイトルの上下位置変更

plt.title()にyの値を指定することでタイトルの上下位置を調整できる。

0がグラフの下側の軸の上、1がグラフの上側の軸の上となっており、floatで指定できる。

指定しない場合はy=1の位置に来るようになる。

タイトルをグラフ内の上端に表示する

y=0.9あたりで、グラフ内の上端付近にタイトルが表示される。

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8# y: 0がグラフ下端、1がグラフ上端
9plt.title(f"title", y=0.9)
10plt.tight_layout()
11plt.show()

スペースを節約したい時には使うかもしれない。

タイトルをグラフ下端の上に表示する

y=0にすることで、グラフ下端の上にタイトルを表示できる。

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8# y: 0がグラフ下端、1がグラフ上端
9plt.title(f"title", y=0)
10plt.tight_layout()
11plt.show()

あまりないかと思うが、スペースを節約したくて、グラフ表示がグラフの上の方に集中している散布図などでは使うかもしれない。

グラフタイトルをグラフより下に表示する

yを0以下にするとグラフ枠の下にタイトルが表示される。

x軸の目盛りやラベルの長さによるが、y=-0.2〜0.5ぐらいに設定すると、x軸ラベルのちょうど下あたりにタイトルが表示される。

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8# y: 0がグラフ下端、1がグラフ上端
9plt.title(f"title", y=-0.25)
10plt.tight_layout()
11plt.show()

グラフ下なので、出典などを表記するのに使えるかもしれない。

グラフタイトルをグラフ上の離れた場所に表示する

yを1より大きくすると、グラフよりも上の方にタイトルを表示できる。

1# グラフのサイズ、背景色設定
2plt.figure(figsize=(6, 4), facecolor="w")
3# 棒グラフ作成
4sns.barplot(data=df_tips, x="sex", y="total_bill", hue="smoker")
5# 凡例の設定
6plt.legend()
7# グラフタイトル設定
8# y: 0がグラフ下端、1がグラフ上端
9plt.title(f"title", y=1.5)
10plt.tight_layout()
11plt.show()

一応、こういうことはできるが、使うことはほとんどないと思う。

まとめ

タイトルの水平位置はlocで「left」「center」「right」を設定できる。

タイトルの垂直位置はyで数値で設定できる。

1# グラフタイトルの位置設定
2# 左
3plt.title(f"title", loc="left")
4
5# 中央
6plt.title(f"title", loc="center")
7
8# 右
9plt.title(f"title", loc="right")
10
11# グラフ枠内上端付近
12plt.title(f"title", y=0.9)
13
14# グラフ下端の上
15plt.title(f"title", y=0)
16
17# x軸ラベルの下付近
18plt.title(f"title", y=-0.25)

その他のグラフタイトルの設定

あわせて読みたい
【matplotlib】グラフタイトルのサイズと色を変更する【Python】
【matplotlib】グラフタイトルのサイズと色を変更する【Python】
スポンサーリンク
ABOUT ME
MAX
MAX
ITエンジニア、データサイエンティスト
新卒でSIerに入社し、フリーランスになってWEB系へ転向。
その後AIの世界へ足を踏み入れ、正社員に戻る。 テーブルデータの分析がメイン。
スポンサーリンク
記事URLをコピーしました