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

Matplotlibでパッチのエッジ色とフェイス色に異なる不透明度を設定する方法

Matplotlibでパッチ(Patch)のエッジ色とフェイス色にそれぞれ異なる不透明度を設定したい場合は、RGBA形式のカラータプルを使用します。カラータプルの4番目の要素(アルファ値)に0~1の範囲の数値を指定することで、エッジとフェイスの不透明度を個別に制御できます。

手順

  • 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
  • subplots()メソッドを使って、図とサブプロットを作成します。
  • エッジ色とフェイス色に、それぞれ異なる不透明度の値を設定します。
  • add_patch()メソッドを使って、長方形パッチを追加します。
  • show()メソッドで図を表示します。

コード例

from matplotlib import pyplot as plt, patches

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

figure, ax = plt.subplots()
edge_color_opacity = 1 # 0<val<1
face_color_opacity = 0.75 # 0<val<1

ax.add_patch(patches.Rectangle((.25, .25), .50, .50,
                               edgecolor=(1, 0, 0, edge_color_opacity),
                               facecolor=(0, 1, 0, face_color_opacity),
                               linewidth=2))

plt.show()

コードの解説

この例では、edge_color_opacity = 1としてエッジ色を完全な不透明(赤)に設定し、face_color_opacity = 0.75としてフェイス色を75%の不透明度(緑)に設定しています。このように、edgecolorfacecolorの引数にRGBにアルファ値を加えた4要素のタプル (R, G, B, A) を渡すことで、同じパッチ内でも輪郭線と塗りつぶし部分の透明度を独立して変更できます。アルファ値は0(完全に透明)から1(完全に不透明)までの範囲で指定してください。

出力結果

Matplotlibでパッチのエッジ色とフェイス色に異なる不透明度を設定する方法

  1. Matplotlibの図に凡例を配置・整列させる方法

    Matplotlibで作成した図(フィギュア)に凡例を適切な位置に配置し、要素を整列させる方法を解説します。凡例の位置調整には bbox_to_anchor 引数を使用するのがポイントです。 手順 plot() メソッドを使って line1 と line2 の2本の線をプロットします。 legend() メソッドで図に凡例を配置します。このとき bbox_to_anchor を使って凡例の位置を指定し、ncol 引数で凡例要素を横並びに整列させます。 show() メソッドを呼び出して図を表示します。 コード例 from matplotlib import pyplot as plt pl

  2. MatplotlibでRectangle(長方形)に色を設定する方法

    Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show