Plotlyグラフライブラリを使用した例#

Sphinx-Galleryは、Plotlyライブラリを使用して作成された例をサポートしています。Sphinx-Galleryは、Plotly図オブジェクトの_repr_html_をキャプチャできます(キャプチャされる出力の制御を参照)。図を表示するには、コードブロックの最後の行にPlotly図オブジェクトを指定する必要があります。

Plotlyを使用するには、プロジェクトのconf.pyに、適切なPlotlyレンダラを選択するための次の行を含める必要があります。

import plotly.io as pio
pio.renderers.default = 'sphinx_gallery'

オプション:Plotlyのsphinx_galleryレンダラは、pngサムネイルを生成しません。pngサムネイルを使用するには、代わりにsphinx_gallery_pngレンダラを使用し、plotly.io._sg_scraper.plotly_sg_scraper画像スクレーパーのリストに追加します。スクレーパーを使用するには、orcaパッケージをインストールする必要があります。

このチュートリアルでは、そのハイレベルAPIであるPlotly Expressから始まる、Plotly図のいくつかの例を示します。

import numpy as np
import plotly.express as px

df = px.data.tips()
fig = px.bar(
    df,
    x="sex",
    y="total_bill",
    facet_col="day",
    color="smoker",
    barmode="group",
    template="presentation+plotly",
)
fig.update_layout(height=400)
fig


古典的な散布図や棒グラフに加えて、Plotlyは、次の例のようなサンバースト階層トレースなど、さまざまな種類のトレースを提供します。Plotlyはインタラクティブなライブラリです。詳細なドリルダウンビューについては、大陸のいずれかをクリックしてください。

df = px.data.gapminder().query("year == 2007")
fig = px.sunburst(
    df,
    path=["continent", "country"],
    values="pop",
    color="lifeExp",
    hover_data=["iso_alpha"],
    color_continuous_scale="RdBu",
    color_continuous_midpoint=np.average(df["lifeExp"], weights=df["pop"]),
)
fig.update_layout(title_text="Life expectancy of countries and continents")
fig


Plotly Expressは多くの場合Plotlyライブラリのハイレベルのエントリポイントですが、さまざまなタイプのトレースを組み合わせた複雑な図は、低レベルのgraph_objects命令型APIを使用して作成できます。

import plotly.graph_objects as go
from plotly.subplots import make_subplots

fig = make_subplots(rows=1, cols=2, specs=[[{}, {"type": "domain"}]])
fig.add_trace(go.Bar(x=[2018, 2019, 2020], y=[3, 2, 5], showlegend=False), 1, 1)
fig.add_trace(go.Pie(labels=["A", "B", "C"], values=[1, 3, 6]), 1, 2)
fig.update_layout(height=400, template="presentation", yaxis_title_text="revenue")
fig

# sphinx_gallery_thumbnail_path = '_static/plotly_logo.png'


スクリプトの実行時間合計:(0分1.260秒)

推定メモリ使用量:188 MB

Sphinx-Galleryによって生成されたギャラリー