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() 関数トレースの詳細については、このリンクをクリックしてください。

著者: 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