Plotly バーチャート

Ammar Ali 2022年4月1日
Plotly バーチャート

このチュートリアルでは、Plotly の bar() 関数を使用した棒グラフの作成について説明します。

Plotly の棒グラフ

棒グラフは、高さがそれが表す値に等しい長方形の棒としてデータを表示します。Plotly の bar() 関数を使用して棒グラフを作成できます。

棒グラフには 2つの軸があります。1つの軸はデータを長方形のバーとして表し、もう 1つの軸はラベルです。軸を入れ替えることで、縦棒グラフを横にできます。

棒グラフを作成するには、bar() 関数内にデータとラベルを渡す必要があります。bar() 関数内にデータフレームまたは配列を渡すこともできます。

ランダムデータの棒グラフを作成しましょう。以下のコードを参照してください。

import plotly.express as px

labels = ['One','Two','Three']
value =  [10,50,100]
fig = px.bar(x=labels,y=value, height=400, width=500)
fig.show()

出力:

plotly の棒グラフ

width および height 引数は、図形の幅と高さをピクセル単位で設定するために使用されます。color 引数と入力データと同じ長さの数値の配列を使用して、各セルに異なる色を与えることができます。

text 引数と各セルのテキストを含む文字列のリストを使用して、各セル内にテキストを配置できます。base 引数と各セルベースの位置を含むリストを使用して、各セルベースの位置を設定できます。

x 軸に error_x 引数を使用し、y 軸に error_y 引数を使用して、各セルにエラーバーを追加できます。引数の値は、各セルの数値エラー値を含むリストである必要があります。

opacity 引数を使用して、各セルの不透明度を 0 から 1 に設定できます。orientation 引数を使用してセルの方向を水平または垂直に設定し、垂直の場合は v に、水平の場合は h に設定できます。

x 軸に log_x 引数、y 軸に log_y 引数を使用して各軸を対数スケールに設定し、その値を true に設定できます。title() 引数とタイトルのテキストを含む文字列を使用して、図のタイトルを設定することもできます。

上記の引数を変更してみましょう。以下のコードを参照してください。

import plotly.express as px

labels = ['One','Two','Three']
value =  [10,50,100]
fig = px.bar(x=labels,y=value, height=400, width=500, color=[1,5,10], text=['a','b','c'], base=[0,15,50], error_y=[5,10,15], opacity=0.8, orientation='v', title='plotly bar plot')
fig.show()

出力:

プロット棒グラフのプロパティの変更

デフォルトでは、bar() 関数は各セルに異なる色を与えますが、color および color_discrete_map 引数を使用して各セルの色を設定できます。各セルの色を変更するには、color 引数内に各セルラベルを渡し、color_discrete_map 引数を使用して各ラベルに色を付ける必要があります。

ラベルの色を定義しない場合、bar() 関数は自動的にランダムな色をラベルに与えます。各セルの色を設定しましょう。

import plotly.express as px

labels = ['A','B','C']
value =  [10,50,100]
fig = px.bar(x=labels,y=value, height=400, width=500, color=labels,color_discrete_map={'A':'green',
                                 'B':'cyan',
                                 'C':'yellow',})
fig.show()

出力:

棒グラフの色を変更する

color_continuous_scale 引数を使用して、デフォルトのカラースケールまたはシーケンスを変更し、各セルの色を設定することもできます。引数の値は、有効な CSS カラーのリストである必要があります。RdBuInfernoJetHotRainbowSunset のような Plotly の組み込みカラーシーケンスを使用できます。

Rainbow カラーシーケンスを使用して円グラフの色を変更してみましょう。以下のコードを参照してください。

import plotly.express as px

labels = ['A','B','C']
value =  [10,50,100]
fig = px.bar(x=labels,y=value, height=400, width=500,color=value,color_continuous_scale=px.colors.sequential.Rainbow)
fig.show()

出力:

棒グラフのカラーシーケンスの変更

コード内のカラーシーケンスを変更するには、カラーシーケンスの名前を Rainbow から Sunset に変更する必要があります。Plotly のカラーシーケンスの詳細については、このリンクをクリックしてください。

fig.update_traces() 関数を使用して、bar() 関数のトレースを更新することもできます。text 引数を使用して各セル内に表示されるテキストを設定し、textposition 引数を使用してテキストの位置を設定できます。サポートされているテキストの位置は、outsideinsideauto、および none です。

textfont_size 引数を使用してテキストのフォントサイズを変更し、textangle 引数を使用してテキストの角度を変更し、textfont_color 引数を使用してテキストの色を変更できます。マーカー引数を使用して、線幅や色などのマーカープロパティを変更できます。

各セルにランダムなテキストを追加し、各テキストの色、角度、フォントサイズ、各セルの周囲の線を指定して、その色と幅を設定しましょう。

import plotly.express as px

labels = ['A','B','C']
value =  [10,50,80]
fig = px.bar(x=labels,y=value, height=400, width=500,color=value,color_continuous_scale=px.colors.sequential.Rainbow)
fig.update_traces(text=['First','Second','Third'],textposition='outside', textfont_size=16,textangle=90,textfont_color='Red',
                  marker=dict(line=dict(color='green', width=3)))
fig.show()

出力:

棒グラフのトレースの変更

bar() 関数トレースの詳細については、このリンクをクリックしてください。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - Plotly Plot