Plotly で境界線を追加する

Plotly De Jing Jie Xianwo Zhui Jiasuru



場合によっては、Plotly の図に境界線を追加する必要があります。特定のプロットを他のプロットと区別したい場合でも、単に視覚的な改善を目的としている場合でも、境界線は重要な役割を果たすことができます。残念ながら、Plotly には、タイトルのように Figure に境界線を追加するためのネイティブな方法が用意されていません。

このチュートリアルでは、特定の Figure の周囲に境界線を作成するために使用できるカスタマイズ方法を紹介します。

飛び込みましょう。







プロットシェイプ

特定の Figure の周囲に境界線を作成する最も効率的な方法は、Plotly graph_objects モジュールの = Plotly シェイプを使用することです。



このモジュールを使用すると、ラインまたはポリゴンをスタンドアロン オブジェクトとして、または他の Figure の親として作成できます。



次のリソースで、graph_objects のレイアウトを自由に調べてください。





https://plotly.com/python/reference/layout/shapes/

この機能を使用して境界線を作成する方法を見てみましょう。



図形を作成

境界線を作成する前に、境界線を追加したい単純な Plotly Figure を作成することから始めましょう。

このチュートリアルでは、次のコードに示すように単純なライン プロットを使用します。

輸入 陰謀的に。 特急 なので ピクセル

# plotly.graph_objects をそのままインポート

df = px. データ . ギャップメモリ​​ー ( ) . クエリ ( 「大陸== 'オセアニア'」 )

= px. ライン ( df バツ = '年' = 「gdpPercap」 = '国' シンボル = '国' )

図。 見せる ( )

この例では、Plotly Express モジュールを使用して、オセアニア大陸の国々の年間のキャップあたりの GDP の折れ線グラフを作成します。

結果の図は次のとおりです。

プロット的にボーダーを追加

使用したい図形ができたら、先に進んで境界線を作成できます。前述のように、Plotly の graph_objects の形状モデルを使用します。

Figure に境界線を追加するコードは、次のとおりです。

輸入 陰謀的に。 グラフオブジェクト なので 行く
図。 update_layout ( 形状 = [ 行く。 レイアウト . (
タイプ = 「直角」
外部参照 = '紙'
yref = '紙'
×0 = 0
y0 = - 0.1
x1 = 1.01
y1 = 1.02
ライン = { '幅' : 1 '色' : '黒' }
) ] )

前のコードでは、Plotly の graph_objects モジュールを go としてインポートすることから始めます。

次に、 update_layout() 関数を使用して、指定した値と機能で Figure のレイアウトをカスタマイズします。

関数内で、図形の周りに特定の形状を作成できる形状パラメーターを指定します。

go.layout.Shape() の値により、形状のタイプとそれを作成する場所を正確に定義できます。

1 つ目は、作成したい図のタイプを指定する type です。円を作成する「circle」、長方形を作成する「rect」などの値を指定できます。

2 番目のパラメータは、形状の開始 x ポイントを設定する x0 です。 X1 は、形状の終了 x 位置を定義します。

y0 と y1 の場合、これらのパラメーターは形状の y 始点と y 終点を定義します。

xref および yref パラメータは、注釈の x および y 座標軸を設定します。

「紙」に設定されている場合、「y」位置は、「0」(「1」)が下(上)に対応する、正規化された座標でのプロット領域の下からの距離を指します。

最後に、ライン パラメータには、形状のラインを作成するためのルールを定義するディクショナリが含まれています。ここでは、線幅を 1 に、色を黒に設定します。

結果の図は次のとおりです。

ご覧のとおり、図には、指定されたパラメーターを持つ境界線が含まれています。以前の値をカスタマイズして、希望する特定の境界線の形状とサイズに合わせることができます。

結論

この記事では、Plotly の graph_objects モジュールを使用して、Plotly の図の周囲に境界線を作成する方法について説明します。

読んでくれてありがとう。ハッピーコーディング!!