Matplotlibでマーカーに影響を与えずに透明なエラーバーを描画する方法
Matplotlibでは、errorbar()関数の戻り値からエラーバー本体(bars)とキャップ(caps)を個別に取得し、それぞれに透明度(alpha値)を設定することで、マーカーの見た目を変えずにエラーバーだけを半透明にできます。
手順
図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
データ用のリスト x、y、z を作成します。
変数 error_bar_width = 5 を初期化します。
plt.errorbar()を使って、y 対 x のデータを線・マーカー付きでプロットし、エラーバーを同時に描画します。このとき、戻り値として markers、caps、bars を受け取ります。bars と caps の alpha 値を設定して、エラーバーとキャップのみを半透明化します。
show()メソッドを使って図を表示します。
コード例
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = [1, 3, 5, 7]
y = [1, 3, 5, 7]
z = [4, 5, 1, 4]
error_bar_width = 5
markers, caps, bars = plt.errorbar(x, y, z, capsize=5, elinewidth=error_bar_width,
markeredgewidth=7, fmt='o', ecolor='black', capthick=2)
[bar.set_alpha(0.5) for bar in bars]
[cap.set_alpha(0.5) for cap in caps]
plt.show()ポイント解説
plt.errorbar() は、戻り値として ErrorbarContainer を返し、これをアンパックすると「マーカー・線」「キャップ」「エラーバー本体」の3つの要素が得られます。ここで重要なのは、alpha値を bars と caps のみ に適用している点です。plt.errorbar() 全体に対して alpha を指定してしまうと、マーカーまで半透明になってしまうため、戻り値から個別に取り出して設定するのがポイントです。
出力結果
上記のコードを実行すると、黒いエラーバーとキャップが半透明(alpha=0.5)で表示され、マーカーは不透明のまま維持されたグラフが出力されます。

-
MatplotlibとSeabornのバープロットでエラーバーを非表示にする方法
Seabornのバープロット(棒グラフ)では、デフォルトで平均値に対するエラーバー(信頼区間)が自動的に表示されます。このエラーバーを非表示にしたい場合は、sns.barplot() の引数に ci=None を指定するだけで簡単に実現できます。 手順 オンラインリポジトリからサンプルデータセットを読み込みます(インターネット接続が必要です)。 ci=None を指定してバープロットを作成し、エラーバーを非表示にします。 plt.show() メソッドを使って図を画面に表示します。 サンプルコード import seaborn as sns import matplotlib.pyplot
-
Matplotlibで凡例のマーカーとラベルの間隔を調整する方法
Matplotlibで凡例(legend)のマーカーとラベルの間隔を調整したい場合は、legend()メソッドのlabelspacing引数を使用します。この引数に数値を指定することで、凡例内の各行(マーカーとラベル)同士の縦方向のスペースを自由に広げたり狭めたりできます。手順Label 1、Label 2、Label 3というラベルを付けて、3本の線をプロットします。凡例のマーカーとラベルの間隔を調整するための変数spaceを定義します。legend()メソッドの引数にlabelspacing=spaceを指定して呼び出します。図を表示するには、plt.show()メソッドを使用します。サン