Pandasで複数のバープロットを描画する際にバー間のスペースを変更する方法(Matplotlib)
Pandasでグループごとの複数のバープロットを描画する際、バー同士の間隔(スペース)を調整したい場合は、plot()メソッドのlinewidthパラメータを活用します。バーの枠線(エッジ)の色を白にし、線幅を太くすることで、視覚的にバー間のスペースが狭まり、逆に線幅を細くすれば間隔が広く表示されます。
手順
- 図のサイズを設定し、サブプロット間および周囲の余白を自動調整します。
- 2つの列を持つ辞書を作成します。
- 辞書から2次元のサイズ可変な表形式データ(DataFrame)を作成します。
- plot()メソッドでデータフレームを棒グラフとして描画し、linewidthによってバー間のスペースを調整します。
- 凡例をグラフ上に配置します。
- show()メソッドで図を表示します。
コード例
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
d = {'Column 1': [i for i in range(10)],
'Column 2': [i * i for i in range(10)]}
df = pd.DataFrame(d)
df.plot(kind='bar', edgecolor='white', linewidth=1)
plt.legend(loc="upper left")
plt.show()
出力結果

このように、edgecolorを「white」に設定したうえでlinewidthの値を大きくすると、各バーの境界線が白く太くなり、バー同士が離れて見えます。値を小さくすればバーは密に配置され、間隔の狭いグラフになります。数値を変えながら試すことで、目的のデザインに合わせた調整が可能です。
-
Matplotlibで複数のX軸・Y軸をプロットする方法(twinx / twinyの使い方)
データ分析や可視化では、スケールの異なる2つのデータ系列を同じグラフ上に重ねて表示したいケースがよくあります。Matplotlibでは、twinx() メソッドや twiny() メソッドを使うことで、X軸またはY軸を共有しながら独立したもう一方の軸を持つグラフを簡単に作成できます。 この記事では、左右に異なるY軸を持つグラフを作成する手順を、具体的なコード例とともに解説します。 複数のY軸を持つグラフの作成手順 以下の手順で、左と右に別々のY軸スケールを持つプロットを作成できます。 subplots() メソッドを使用して、図(figure)とサブプロット(axes)を作成します。 最初の
-
Matplotlibで凡例のマーカーとラベルの間隔を調整する方法
Matplotlibで凡例(legend)のマーカーとラベルの間隔を調整したい場合は、legend()メソッドのlabelspacing引数を使用します。この引数に数値を指定することで、凡例内の各行(マーカーとラベル)同士の縦方向のスペースを自由に広げたり狭めたりできます。手順Label 1、Label 2、Label 3というラベルを付けて、3本の線をプロットします。凡例のマーカーとラベルの間隔を調整するための変数spaceを定義します。legend()メソッドの引数にlabelspacing=spaceを指定して呼び出します。図を表示するには、plt.show()メソッドを使用します。サン