Plotlyで地図上の散布図を描画する際に作ったノート

Plotlyとは、Pythonで使えるライブラリです。
データを図やグラフで見やすくしてくれます。
学んだ内容を再確認できるよう整理しました(内容は入門レベルです)。

灰色のボタンで内容の絞り込みができます。
「mapbox」は地図上に散布図を描画します。
「choropleth」は階級区分地図を描画します。
「scatter」は通常の散布図グラフを描画します。
「config」は図の右上に表示される項目の設定です。
「HTML化」図をHTMLに変換します。

    地図上の散布図: plotly.express.scatter_mapbox

    Plotly公式のリファレンス(リンク)
    戻り値のタイプ: plotly.graph_objects.Figure

    使用例
                                        
                                            import plotly.express as px
    
                                            df = px.data.carshare()
                                            fig = px.scatter_mapbox(df,
                                                lat="centroid_lat",
                                                lon="centroid_lon",
                                                color="peak_hour",
                                                size="car_hours",
                                                color_continuous_scale=px.colors.cyclical.IceFire,
                                                size_max=15,
                                                zoom=10,
                                                mapbox_style="carto-positron"
                                            )
    
                                            fig.show()
                                        
                                    
    描画イメージ

    各パラメータ

    data_frame
    (DataFrame or array-like or dict)

    この引数は、列名(キーワード名ではない)を使用するために渡される必要がある。
    Array-likeとdictは、内部でDataFrameに変換される。
    もし見つからない場合、DataFrameは他の引数を使用してアンダーグラウンドで構築される。

    lat
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Seriesやarray_likeオブジェクトを指定する。
    地図上の緯度に従ってマークを配置するために使用される。

    lon
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Series、array_likeオブジェクトを指定する。
    地図上の経度に従ってマークを配置するために使用される。

    color
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Seriesやarray_likeオブジェクトを指定する。
    マークに色を割り当てるために使用される。

    text
    (str or int or Series or array-like)

    data_frameの列名、または pandas Series、array_likeオブジェクトを指定する。
    テキストラベルとして図に表示される。

    hover_name
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Seriesやarray_likeオブジェクトを指定する。
    マウスホバー時のツールチップの先頭に太字で表示される。

    hover_data
    (list of str or int, or Series or array-like, or dict)

    data_frameの列名のリスト、pandas Series、array_likeオブジェクト、列名をキーとするdictを指定。
    2つの要素を指定できる。
    1番目の要素はbool(True: デフォルト or False: ホバー情報からこの列を削除)
    またはデータ表示フォーマットを指定(例えば ':.3f'や'%a'など。'3f'や'|%a'など)。
    2番目の要素はリストのようなデータを持つタプルを指定。
    マウスホバー時のツールチップに追加データとして表示される。
    使用例: hover_data = ["列名"],

    custom_data
    (list of str or int, or Series or array-like)

    data_frameの列名、pandas Series、またはarray_like オブジェクトを指定する。
    これらの列の値は、画面に表示される部品やDashのコールバックなどで使用するための追加データ。
    このデータはユーザーには見えない。
    図が発するイベント(投げ縄の選択: ドラッグで囲む選択など)に含まれる。

    size
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    マークのサイズを割り当てるために使用される。

    animation_frame
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    アニメーションフレームにマークを割り当てるために使用される。
    時間変化のアニメーションの例: animation_frame = "year"

    animation_group
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    アニメーションフレーム間でオブジェクトの一貫性を提供するために使用される。
    animation_groupが一致する行は、各フレームで同じオブジェクトを記述しているかのように扱われる。
    国別データのアニメーションの例: animation_group = "country"

    category_orders
    (dict with str keys and list of str values (default {}))

    Python 3.6以降のデフォルトでは、軸、凡例、facetsにおけるカテゴリ値の順序は
    これらの値がdata_frameで最初に遭遇する順序に依存する。
    列ごとの値の特定の順序を強制するために使用される。
    このdictのキーは列名に対応し、値は希望する特定の表示順に対応する文字列のリストである必要がある。

    labels
    (dict with str keys and str values (default {}))

    デフォルトでは、軸のタイトル、凡例の項目、およびhoversの図で列名が使用される。
    このパラメータを上書きする。
    このdictのキーは列名に対応し、値は表示を希望するラベルに対応する必要がある。

    color_discrete_sequence
    (list of str)

    文字列は有効なCSS-colorsを定義しなければならない。
    colorが設定され、対応する列の値が数値でない場合、colorの値がcolor_discrete_mapのキーでない限り、
    category_ordersで記述された順序でcolor_discrete_sequenceを循環することで色が割り当てられる。
    plotly.express.colorsサブモジュール、特にplotly.express.colors.qualitativeでは様々な色配列が利用可能。

    color_discrete_map
    (dict with str keys and str values (default {}))

    color_discrete_sequenceを上書きし、特定の値に対応するマークに特定の色を割り当てるために使用する。
    color_discrete_mapのキーは、colorで示される列の値でなければならない。
    また、colorの値が有効な色である場合、文字列'identity'を渡して直接使用することもできる。

    color_continuous_scale
    (list of str)

    文字列は有効なCSS-colorsを定義する必要がある。
    このリストは色で示される列が数値データを含む場合に
    連続したカラースケールを構築するために使用される。
    plotly.express.colorsサブモジュールでは、様々なカラースケールが利用できる。
    (例: plotly.express.colors.sequential, plotly.express.colors.diverging, plotly.express.colors.cyclical)
    Plotly公式のリファレンス(リンク)

    range_color
    (list of two numbers)

    指定した場合、連続するカラースケール(自動スケール)を上書きする。

    color_continuous_midpoint
    (number (default None))

    設定された場合、連続色スケールの境界を計算して望ましい中点を持つようにする。
    color_continuous_scaleの入力としてplotly.express.colors.divergingカラースケールを使用する場合に推奨。

    opacity
    (float)

    0〜1の値でマーカーの不透明度を設定する。

    size_max
    (int (default 20))

    サイズ使用時の最大マークサイズを設定する。

    zoom
    (int (default 8))

    0〜20の間で地図の拡大率を設定する。

    center
    (dict)

    地図の中心を緯度経度(lat, lon をキーとするdict)で指定する。

    mapbox_style
    (str (default 'basic', needs Mapbox API token))

    ベースマップスタイルの識別子。
    plotly.express.set_mapbox_access_token()を使って設定される。
    Mapbox APIトークンが必要な物もある。
    Mapbox APIトークンを必要としない値は
    'open-street-map', 'white-bg', 'carto-positron', 'carto-darkmatter',
    'stamen- terrain', 'stamen-toner', 'stamen-watercolor'。
    Mapbox APIトークンを必要とする値は
    'basic', 'streets', 'outdoors', 'light', 'dark',
    'satellite', 'satellite- streets'。

    title
    (str)

    図のタイトルを指定する。

    template
    (str or dict or plotly.graph_objects.layout.Template instance)

    図のテンプレート名(plotly.io.templates のキーである必要がある)または定義を指定する。

    width
    (int (default None))

    図形の幅をピクセル単位で指定する。

    height
    (int (default None))

    図形の高さをピクセル単位で指定する。

    階級区分地図: plotly.express.choropleth

    Plotly公式のリファレンス(リンク)
    戻り値のタイプ: plotly.graph_objects.Figure
    data_frame の各行が地図上の色付きの地域マークで表現される。

    使用例
                                        
                                            import plotly.express as px
    
                                            df = px.data.gapminder().query("year == 2007")
                                            avg_lifeExp = (df['lifeExp']*df['pop']).sum()/df['pop'].sum()
                                            fig = px.choropleth(df, locations="iso_alpha",
                                                color="lifeExp",
                                                color_continuous_scale=px.colors.diverging.BrBG,
                                                color_continuous_midpoint=avg_lifeExp,
                                                title="World Average Life Expectancy in 2007 in years was %.1f" % avg_lifeExp
                                            )
    
                                            fig.show()
                                        
                                    
    描画イメージ

    各パラメータ

    data_frame
    (DataFrame or array-like or dict)

    この引数は、(キーワード名ではなく)列名を使用するために渡される必要がある。
    Array-likeとdictは内部でDataFrameに変換される。
    見つからない場合、DataFrameは他の引数を使用してアンダーグラウンドで構築される。

    lat
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    この列またはarray_likeの値は地図上の緯度に従ってマークを配置するために使用される。

    lon
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    この列またはarray_likeの値は地図上の経度に従ってマークを配置するために使用される。

    locations
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    この列やarray_likeの値はlocationmodeに従って解釈され、経度/緯度にマッピングされる。

    locationmode
    (str)

    'ISO-3', 'USA-states', 'country names'のどれかを指定する。
    locationsのエントリーを地図上の地域とマッチさせるために使われる位置のセットを決定する。

    geojson
    (GeoJSON-formatted dict)

    locationsからの参照であるIDを持つ。
    ポリゴンフィーチャーのコレクションを含む必要がある。

    featureidkey
    (str (default: 'id'))

    locationsに渡された値をマッチさせるGeoJSONフィーチャーオブジェクトのフィールドへのパス。
    デフォルトに対する最も一般的な代替案は 'properties.<key>' の形式。

    color
    (str or int or Series or array-like)

    data_frameの列名、pandasのSeries、array_likeオブジェクトのどれかを指定する。
    マークに色を割り当てるために使用される。

    facet_row
    (str or int or Series or array-like)

    data_frameの列名、pandasのSeries、array_likeオブジェクトのどれかを指定する。
    垂直方向でfacet化されたサブプロットにマークを割り当てるために使用される。

    facet_col
    (str or int or Series or array-like)

    data_frameの列名、pandasのSeries、array_likeオブジェクトのどれかを指定する。
    水平方向でfacet化されたサブプロットにマークを割り当てるために使用される。

    facet_col_wrap
    (int)

    ファセット列の最大数。
    列のファセットが複数の行にまたがるように、この幅で列変数をラップする。
    0の場合は無視され、facet_rowまたはマージンが設定されている場合は0に強制される。
    ファセット: 属性ごとに一度に複数のグラフを作る。

    facet_row_spacing
    (float between 0 and 1)

    ファセット行の間隔を用紙単位で指定する。
    デフォルトは0.03で、facet_col_wrapが使われている場合は0.07。

    facet_col_spacing
    (float between 0 and 1)

    ファセット列の間隔(用紙単位)
    デフォルトは0.02。

    hover_name
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    マウスホバー時のツールチップで太字で表示される。

    hover_data
    (list of str or int, or Series or array-like, or dict)

    data_frameの列名のリスト、pandas Series、array_likeオブジェクト、列名をキーとするdictを指定。
    2つの要素を指定できる。
    1番目の要素はboolまたはデータ表示フォーマット(':.3f'や'%a'、3f'や'|%a'など)を指定。
    (True: デフォルト、False: ホバー情報からこの列を削除)
    2番目の要素はリストのようなデータを持つタプルを指定。
    マウスホバー時のツールチップに追加データとして表示される。
    使用例: hover_data = ["列名"],

    custom_data
    (list of str or int, or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクト。
    ウィジェットやDashのコールバックなどで使用するための追加データ。
    このデータはユーザーには見えない。図が発するイベント(投げ縄の選択など)に含まれる。

    animation_frame
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    アニメーションフレームにマークを割り当てるために使用される。
    時間変化のアニメーションの例: animation_frame = "year"

    animation_group
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    アニメーションフレーム間でオブジェクトの一貫性を提供するために使用される。
    animation_groupが一致する行は、各フレームで同じオブジェクトを記述しているかのように扱われる。
    国別データのアニメーションの例: animation_group = "country"

    category_orders
    (dict with str keys and list of str values (default {}))

    Python3.6以上のデフォルトでは、軸、凡例、ファセットにおけるカテゴリ値の順序は、
    これらの値がdata_frameで最初に遭遇する順序に依存する。
    列ごとの値の特定の順序を強制するために使用される。
    このdictのキーは列名に対応し、値は希望する表示順序に対応する文字列のリストである必要がある。

    labels
    (dict with str keys and str values (default {}))

    デフォルトでは、軸のタイトル、凡例の項目およびホバーのために図に列名が使用される。
    このパラメータを上書きする。
    このdictのキーは列名に対応し、値は表示される希望するラベルに対応する必要がある。

    color_discrete_sequence
    (list of str)

    文字列は有効なCSS-colorsを定義しなければならない。
    colorが設定され対応する列の値が数値でない場合、colorの値がcolor_discrete_mapのキーでない限り、
    その列の値はcategory_ordersに記述された順にcolor_discrete_sequenceを循環して色が割り当てられる。
    plotly.express.colorsサブモジュールでは、様々な有用な色配列が利用可能。
    (特にplotly.express.colors.qualitative)

    color_discrete_map
    (dict with str keys and str values (default {}))

    color_discrete_sequenceを上書きし、特定の値に対応するマークに色を割り当てるために使用する。
    color_discrete_mapのキーはcolorで示される列の値でなければならない。
    また、colorの値が有効な色である場合、文字列'identity'を渡して直接使用することもできる。

    color_continuous_scale
    (list of str)

    文字列は有効なCSS-colorsを定義する必要がある。
    このリストは色で示される列が数値データを含む場合に、連続したカラースケールを構築するために使用される。
    plotly.express.colorsサブモジュールでは、様々な有用なカラースケールが利用できる。
    (plotly.express.colors.sequential, plotly.express.colors.diverging, plotly.express.colors.cyclical)
    Plotly公式のリファレンス(リンク)

    range_color
    (list of two numbers)

    指定された場合、連続色スケールの自動スケールを上書きする。

    color_continuous_midpoint
    (number (default None))

    指定された場合、連続色スケールの境界を計算し、望ましい中点を持つようにする。
    color_continuous_scaleにplotly.express.colors.divergingカラースケールを使用する場合に設定を推奨。

    projection
    (str)

    'equirectangular', 'mercator', 'orthographic', 'natural earth', 'kavrayskiy7',
    'miller', 'robinson', 'eckert4', 'azimuthal equal area', 'azimuthal equidistant',
    'conic equal area', 'conic conformal', 'conic equidistant', 'gnomonic',
    'stereographic', 'mollweide', 'hammer', 'transverse mercator', 'albers usa',
    'winkel tripel', 'aitoff', or 'sinusoidal'`Default depends on `scope.

    scope
    (str (default 'world'))

    'world', 'usa', 'europe', 'asia', 'africa', 'north america', 'south america'
    ただしprojectionを'albers usa'に設定すると'usa'が強制的に使用される。

    center
    (dict)

    Dictキーは'lat'と'lon'。
    地図の中心点を設定する。

    fitbounds
    (str (default False).)

    False、locations、geojsonのどれかを指定する。

    basemap_visible
    (bool)

    ベースマップの可視性を強制的に変更する。

    title
    (str)

    図のタイトル。

    template
    (str or dict or plotly.graph_objects.layout.Template instance)

    図のテンプレート名または定義。
    (plotly.io.templatesのキーである必要がある)

    width
    (int (default None))

    図形の幅をピクセル単位で指定する。

    height
    (int (default None))

    図形の高さをピクセル単位で指定する。

    散布図: plotly.express.scatter

    Plotly公式のリファレンス(リンク)
    戻り値のタイプ: plotly.graph_objects.Figure

    使用例
                                        
                                            import plotly.express as px
    
                                            df = px.data.gapminder()
                                            fig = px.scatter(df,
                                                x="gdpPercap",
                                                range_x=[100,100000],
                                                log_x=True,
                                                y="lifeExp",
                                                range_y=[25,90]
                                                size="pop",
                                                size_max=55,
                                                color="continent",
                                                hover_name="country",
                                                animation_frame="year",
                                                animation_group="country",
                                            )
    
                                            fig.show()
                                        
                                    

    各パラメータ

    data_frame
    (DataFrame or array-like or dict)

    この引数は、列名(キーワード名ではない)を使用するために渡される必要がある。
    Array-likeとdictは、内部でDataFrameに変換される。
    もし見つからない場合、DataFrameは他の引数を使用してアンダーグラウンドで構築される。

    x(or y)(str or int or Series or array-like)

    data_frameの列名、またはpandasのSeries、array_likeオブジェクトのどれかを指定する。
    x(or y)軸に沿ってマークを配置するために使用される。
    xかyのどちらかに、列の参照あるいはarray_likeのリストを指定することができる。

    color
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Seriesやarray_likeオブジェクトを指定する。
    マークに色を割り当てるために使用される。

    symbol
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    記号をマークに割り当てるために使用される。

    size
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    マークのサイズを割り当てるために使用される。

    hover_name
    (str or int or Series or array-like)

    data_frameの列名、またはpandas Seriesやarray_likeオブジェクトを指定する。
    マウスホバー時のツールチップの先頭に太字で表示される。

    hover_data
    (list of str or int, or Series or array-like, or dict)

    data_frameの列名のリスト、またはpandas Series、array_likeオブジェクト、列名をキーとするdictを指定。
    2つの要素を指定できる。
    1番目の要素はbool(True: デフォルト or False: ホバー情報からこの列を削除)
    またはデータ表示フォーマットを指定(例えば ':.3f'や'%a'など。'3f'や'|%a'など)。
    2番目の要素はリストのようなデータを持つタプルを指定。
    マウスホバー時のツールチップに追加データとして表示される。
    使用例: hover_data = ["列名"],

    custom_data
    (list of str or int, or Series or array-like)

    data_frameの列名、pandas Series、またはarray_like オブジェクトを指定する。
    これらの列の値は、ウィジェットやDashのコールバックなどで使用するための追加データ。
    このデータはユーザーには見えない。
    図が発するイベント(投げ縄の選択: ドラッグで囲む選択など)に含まれる。

    text
    (str or int or Series or array-like)

    data_frameの列名、または pandas Series、array_likeオブジェクトを指定する。
    テキストラベルとして図に表示される。

    facet_row
    (str or int or Series or array-like)

    data_frameの列名、pandasのSeries、array_likeオブジェクトのどれかを指定する。
    垂直方向でfacet化されたサブプロットにマークを割り当てるために使用される。

    facet_col
    (str or int or Series or array-like)

    data_frameの列名、pandasのSeries、array_likeオブジェクトのどれかを指定する。
    水平方向でfacet化されたサブプロットにマークを割り当てるために使用される。

    facet_col_wrap
    (int)

    ファセット列の最大数。
    列のファセットが複数の行にまたがるように、この幅で列変数をラップする。
    0の場合は無視され、facet_rowまたはマージンが設定されている場合は0に強制される。
    ファセット: 属性ごとに一度に複数のグラフを作る。

    facet_row_spacing
    (float between 0 and 1)

    ファセット行の間隔を用紙単位で指定する。
    デフォルトは0.03で、facet_col_wrapが使われている場合は0.07。

    facet_col_spacing
    (float between 0 and 1)

    ファセット列の間隔(用紙単位)
    デフォルトは0.02。

    error_x
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_like ブジェクトのどれかを指定する。
    X軸のエラーバーのサイズに使用される。
    error_x_minusがNoneの場合、エラーバーは左右対称になる。
    それ以外はerror_xは正方向のみに使用される。
    error_yも同様(y軸)。

    error_x_minus
    (str or int or Series or array-like)

    data_frameの列名、pandas Series、array_likeオブジェクトのどれかを指定する。
    負方向のx軸エラーバーのサイズに使用される。
    error_xがNoneの場合は無視される。
    error_y_minusも同様(y軸)。

    animation_frame
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    アニメーションフレームにマークを割り当てるために使用される。
    時間変化のアニメーションの例: animation_frame = "year"

    animation_group
    (str or int or Series or array-like)

    data_frameの列名、またはpandasのSeriesやarray_likeオブジェクトのいずれかを指定する。
    アニメーションフレーム間でオブジェクトの一貫性を提供するために使用される。
    animation_groupが一致する行は、各フレームで同じオブジェクトを記述しているかのように扱われる。
    国別データのアニメーションの例: animation_group = "country"

    category_orders
    (dict with str keys and list of str values (default {}))

    Python 3.6以降のデフォルトでは、軸、凡例、facetsにおけるカテゴリ値の順序は
    これらの値がdata_frameで最初に遭遇する順序に依存する。
    列ごとの値の特定の順序を強制するために使用される。
    このdictのキーは列名に対応し、値は希望する特定の表示順序に対応する文字列のリストである必要がある。

    labels
    (dict with str keys and str values (default {}))

    デフォルトでは、軸のタイトル、凡例の項目、およびhoversの図で列名が使用される。
    このパラメータを上書きする。
    このdictのキーは列名に対応し、値は表示を希望するラベルに対応する必要がある。

    orientation
    (str, 'h'or'v')

    'h'は水平方向。'v'は垂直方向。
    デフォルト'v'はxとyが両方とも連続かカテゴリである場合。
    それ以外は'x'('y') がカテゴリで'y'('x') が連続の場合は'v'('h')、
    'x'('y') のみ提供された場合は 'v'('h') となる。

    color_discrete_sequence
    (list of str)

    文字列は有効なCSS-colorsを定義しなければならない。
    colorが設定され、対応する列の値が数値でない場合、colorの値がcolor_discrete_mapのキーでない限り、
    その列の値はcategory_ordersで記述された順でcolor_discrete_sequenceを循環することで色が割り当てられる。
    plotly.express.colorsサブモジュール、特にplotly.express.colors.qualitativeでは様々な色配列が利用可能。

    color_discrete_map
    (dict with str keys and str values (default {}))

    color_discrete_sequenceを上書きし、特定の値に対応するマークに特定の色を割り当てるために使用する。
    color_discrete_mapのキーは、colorで示される列の値でなければならない。
    また、colorの値が有効な色である場合、文字列'identity'を渡して直接使用することもできる。

    color_continuous_scale
    (list of str)

    文字列は有効なCSS-colorsを定義する必要がある。
    このリストは色で示される列が数値データを含む場合に
    連続したカラースケールを構築するために使用される。
    plotly.express.colorsサブモジュールでは、様々なカラースケールが利用できる。
    (例: plotly.express.colors.sequential, plotly.express.colors.diverging, plotly.express.colors.cyclical)
    Plotly公式のリファレンス(リンク)

    range_color
    (list of two numbers)

    指定した場合、連続するカラースケール(自動スケール)を上書きする。

    color_continuous_midpoint
    (number (default None))

    設定された場合、連続色スケールの境界を計算して望ましい中点を持つようにする。
    color_continuous_scaleの入力としてplotly.express.colors.divergingカラースケールを使用する場合に推奨。

    symbol_sequence
    (list of str)

    文字列は有効なシンボルを定義する必要がある。
    symbolが設定されると、その列の値はsymbol_mapのキーでない限り、
    category_ordersで記述された順序でsymbol_sequenceを循環してシンボルに割り当てられる。

    symbol_map
    (dict with str keys and str values (default {}))

    シンボルを定義する文字列symbol_sequenceを上書きして、
    特定のシンボルを特定の値に対応するマークに割り当てるために使用する。
    symbol_mapのキーはsymbolで示される列の値でなければならない。
    symbolの値が有効なシンボル名である場合、文字列'identity'を渡すことで直接使用することができる。

    opacity
    (float)

    0〜1の値でマーカーの不透明度を設定する。

    size_max
    (int (default 20))

    サイズ使用時の最大マークサイズを設定する。

    marginal_x
    (str)

    'rug','box','violin','histogram'のどれかを指定する。
    設定された場合、メインプロットの上に水平サブプロットが描かれ、x分布を視覚化する。
    marginal_yも同様(y分布)。

    trendline
    (str)

    'ols','lowess','rolling','expanding','ewm'のどれかを指定する。
    ols: 各離散色/記号グループに対して、最小二乗回帰線が描かれる。
    lowess: Locally Weighted Scatterplot Smoothingの線が各離散色/シンボルグループに対して引かれる。
    rolling: 各離散色/記号グループに対してローリング(例: ローリング平均、ローリング中央値)線が描画される。
    expanding: 各離散色/記号グループに対して、Expanding(例: expanding average, expanding sum) 線が引かれる。
    ewm: Exponentially Weighted Momentの線が各離散色/シンボルグループに対して描画される。
    (例: 指数関数的な重み付けされた移動平均)
    詳細とtrendline_options引数で設定する方法はplotly.express.trendline_functionsにあるドキュメント参照。

    trendline_options
    (dict)

    plotly.express.trendline_functionsからtrendline引数で指定された関数に最初の引数として渡されるオプション。

    trendline_color_override
    (str)

    有効なCSSカラーを指定する。
    指定されてトレンドラインが設定された場合、
    すべてのトレンドラインは、その入力を描画するトレースと同じ色ではなく、この色で描画される。

    trendline_scope
    (str (one of 'trace' or 'overall', default 'trace'))

    trace: トレンドラインはトレースごとに(色、シンボル、ファセット、アニメーションフレームなど)描かれる。
    overall: トレンドラインはデータセット全体について計算され、すべてのファセットにわたって再現される。

    log_x
    (boolean (default False))

    Trueの場合、X軸はデカルト座標で対数変換される。
    log_yも同様(Y軸)。

    range_x
    (list of two numbers)

    デカルト座標系でのX軸の自動スケーリングを上書きする。
    range_yも同様(Y軸)。

    render_mode
    (str)

    'auto','svg','webgl'のどれかを指定する。
    デフォルトの'auto'は、マークの描画に使用するブラウザAPIを制御する。発見的にモードを選択する。
    'svg'はデータポイントが1000未満の数値に適しており、完全にベクタライズされた出力が可能。
    'webgl'は、1000ポイント以上を許容できる性能のために必要だが、出力の一部をラスタライズする。

    title
    (str)

    図のタイトルを指定する。

    template
    (str or dict or plotly.graph_objects.layout.Template instance)

    図のテンプレート名(plotly.io.templates のキーである必要がある)または定義を指定する。

    width
    (int (default None))

    図形の幅をピクセル単位で指定する。

    height
    (int (default None))

    図形の高さをピクセル単位で指定する。

    図の右上に表示される項目の設定

    Plotly公式のリファレンス(リンク)

    使用例
                                        
                                            import plotly.express as px
    
                                            df = px.data.gapminder().query("year == 2007")
                                            avg_lifeExp = (df['lifeExp']*df['pop']).sum()/df['pop'].sum()
                                            fig = px.choropleth(df, locations="iso_alpha",
                                                color="lifeExp",
                                                color_continuous_scale=px.colors.diverging.BrBG,
                                                color_continuous_midpoint=avg_lifeExp,
                                                title="World Average Life Expectancy in 2007 in years was %.1f" % avg_lifeExp
                                            )
    
                                            fig.show(config={'displayModeBar': False})
                                        
                                    
    config = dict({'scrollZoom': True})

    マウスのスクロールホイールや2本指スクロールで、図の拡大・縮小を行うことができるオプション。

    config = {'responsive': False}

    デフォルトでは表示されるウィンドウのサイズが変わると自動的に高さと幅を変更する。
    高さと幅を固定したい場合は、図の設定辞書でresponsiveキーの値をFalseに設定する。

    config = {'staticPlot': True}

    静止図の作成。

    config = {'displayModeBar': True}

    デフォルトでは、グラフの上にカーソルを置くとモードバーが表示される。
    常にモードバーを表示させたい場合は、図の設定にあるdisplayModeBar属性をtrueに設定する。
    常にモードバーを表示させない場合は、図の設定にあるdisplayModeBar属性をFalseに設定する。

    config = {'displaylogo': False}

    Plotlyロゴを非表示にする。

    'toImageButtonOptions'
                                        
                                            config = {
                                                'toImageButtonOptions': {
                                                    'format': 'svg', # one of png, svg, jpeg, webp
                                                    'filename': 'custom_image',
                                                    'height': 500,
                                                    'width': 700,
                                                    'scale': 1 # Multiply title/legend/axis/canvas sizes by this factor
                                                }
                                            }
                                        
                                    

    モードバーのカメラアイコンは、ユーザーのブラウザ経由で図をダウンロードする。
    デフォルトはサイズ700×450ピクセルのPNGをダウンロードする。
    この動作はtoImageButtonOptionsで制御できる。
    高さ、幅をNoneに設定することで、現在描画されているサイズでダウンロードすることができる。
    'toImageButtonOptions': { 'height': None, 'width': None, }

    config = {'modeBarButtonsToRemove': ['zoom', 'pan']}

    モードバーからボタンを削除するには、modeBarButtonsToRemove属性に、
    削除したいボタンの名前を含む文字列の配列を渡す。
    グラフの種類によって、デフォルトのモードバーが異なる。
    High-level: zoom, pan, select, zoomIn, zoomOut, autoScale, resetScale
    2D: zoom2d, pan2d, select2d, lasso2d, zoomIn2d, zoomOut2d, autoScale2d, resetScale2d
    2D Shape Drawing: drawline, drawopenpath, drawclosedpath, drawcircle, drawrect, eraseshape
    3D: zoom3d, pan3d, orbitRotation, tableRotation, handleDrag3d,
     resetCameraDefault3d, resetCameraLastSave3d, hoverClosest3d
    Cartesian: hoverClosestCartesian, hoverCompareCartesian
    Geo: zoomInGeo, zoomOutGeo, resetGeo, hoverClosestGeo
    Other: hoverClosestGl2d, hoverClosestPie, toggleHover, resetViews, toImage,
     sendDataToCloud, toggleSpikelines, resetViewMapbox

    図をHTMLに変換: plotly.io.to_html

    Plotly公式のリファレンス(リンク)
    戻り値: HTMLのdiv文字列としての図形の表現
    戻り値のタイプ: str

    使用例
                                        
                                            import plotly.express as px
    
                                            def sample_to_html():
                                                df = px.data.carshare()
                                                fig = px.scatter_mapbox(df,
                                                    lat = "centroid_lat",
                                                    lon = "centroid_lon",
                                                    color = "peak_hour",
                                                    size = "car_hours",
                                                    size_max = 15,
                                                    zoom = 10,
                                                    color_continuous_scale = px.colors.cyclical.IceFire,
                                                    mapbox_style = "carto-positron"
                                                )
    
                                                return fig.to_html(full_html=False, include_plotlyjs=False)
                                        
                                    

    各パラメータ

    fig

    図形のオブジェクトまたは図形を表すdict。

    config
    (dict or None (default None))

    Plotly.jsの図形設定オプション。

    auto_play
    (bool (default=True))

    図にフレームが含まれる場合は、ページロード時に自動的にアニメーションシーケンスを開始するか指定する。
    図にフレームが含まれていない場合は効果がない。

    include_plotlyjs
    (bool or string (default True))

    plotly.jsライブラリが出力div文字列にどのように含まれるか/ロードされるか指定する。
    Trueの場合、plotly.js のソースコード (~3MB) を含むscriptタグが出力に含まれる。
    このオプションで生成されたHTMLは完全に自己完結しており、オフラインで使用することができる。

    'cdn'の場合、plotly.jsのCDNを参照するスクリプトタグが出力に含まれる。
    使用されるURLは、バンドルされているplotly.jsと一致するようにバージョン管理されている。
    このオプションで生成されたHTMLファイルはinclude_plotlyjs=Trueで生成されたものより約3MB小さいが、
    plotly.jsライブラリをロードするためにアクティブなインターネット接続が必要。

    'directory'の場合、HTMLファイルと同じディレクトリに存在すると仮定される
    外部のplotly.min.jsバンドルを参照するスクリプトタグが含まれる。

    'require'の場合、Plotly.jsはrequire.jsを使用して読み込まれる。
    require.jsがグローバルに利用可能で、'plotly'としてPlotly.jsを見つける方法を知るように
    グローバルに設定されていることを前提としている。
    full_html=Trueの場合は非推奨。
    '.js'で終わる文字列を指定した場合、指定したパスを参照するスクリプトタグが含まれる。
    この方法は、結果のHTMLファイルを別のCDNまたはローカルのバンドルに向けるために使用できる。

    Falseを指定した場合、plotly.jsを参照するスクリプトタグは含まれない。
    結果のdiv文字列が、すでにplotly.jsを読み込んでいるHTMLドキュメント内に配置される場合に便利。
    full_html=True の場合は非推奨。

    include_mathjax
    (bool or string (default False))

    MathJax.jsライブラリが出力htmのdiv文字列にどのように含まれるかを指定する。
    MathJaxは、LaTeXタイプセットでラベルを表示するために必要。

    Falseの場合、MathJax.jsを参照するスクリプトタグは出力に含まれない。

    'cdn'の場合、MathJax CDNの場所を参照するスクリプト・タグが出力に含まれる。
    このオプションで生成されたHTML div文字列は、インターネットアクセスが可能である限り、
    LaTeXタイプセットを表示することができるようになる。
    文字列の末尾が'.js'である場合、指定したパスを参照するスクリプトタグが含まれる。
    この方法は、生成されたHTMLのdiv文字列を別のCDNに向けるために使用することができる。

    post_script
    (str or list or None (default None))

    プロット作成直後に結果のdivに含まれるJavaScriptスニペット。
    この文字列には '{plot_id}' というプレースホルダが含まれ、
    plotly.jsの図形が関連付けられたdiv要素のidに置き換えられる。
    このスクリプトの一つの応用は、カスタムplotly.jsイベントハンドラをインストールすること。

    full_html
    (bool (default True))

    Trueの場合、htmlタグで始まる完全なHTML文書を含む文字列を生成する。
    Falseの場合、1つの div 要素を含む文字列を生成する。

    animation_opts
    (dict or None (default None))

    Plotly.jsの関数Plotly.animateに渡されるカスタムアニメーションパラメータのディクショナリ。
    利用可能なオプション: 公式サイトへのリンク
    図がフレームを含んでいない場合や、auto_playがFalseの場合は効果がない。

    default_width
    (number or str (default '100%'))

    提供された図がlayout.widthプロパティを指定しない場合に使用する図の幅を指定する。
    ピクセル単位の整数(例: 500)やcss width style文字列(例: '500px', '100%')で指定することができる。

    default_height
    (number or str (default '100%'))

    提供された図がlayout.heightプロパティを指定しない場合に使用する図の高さを指定する。
    ピクセル単位の整数(例: 500)やcss width style文字列(例: '500px', '100%')で指定することができる。

    validate
    (bool (default True))

    JSONに変換する前に図を検証する必要がある場合はTrue、そうでない場合はFalseを指定する。

    div_id
    (str (default None))

    指定された場合、divタグのid属性の値となる。
    Noneの場合、id属性はUUIDとなる。

    ボタンで表示を切り替える

    custom-buttons

    公式: custom-buttons

    updatemenus

    公式: updatemenus
    使い方: fig.update_layout(updatemenus=list(...)) # 引数は辞書のリスト

    各パラメータ

    active
    (整数 or -1) Default: 0

    初期状態でどのボタン(0から始まるインデックス)をアクティブとするか指定する。

    bgcolor
    (color)

    更新メニューボタンの背景色を設定する。

    bordercolor
    (color) Default: "#BEC8D9"

    更新メニューを囲む線の色を設定する。

    borderwidth
    (0以上の数字) Default: 1

    更新メニューを囲む線の幅(px)を設定する。

    buttons
    (以下のキーを持つ辞書のリスト)

    args (list)
    クリック時に'method'で設定したPlotlyメソッドに渡される引数の値を設定する。

    args2 (list)
    2つ目の'args'。
    ボタンをクリックしたときに'method'に設定されたPlotlyメソッドに渡される。
    トグルボタンを作成する際に使用する。

    execute (Boolean) Default: True
    True: API メソッドが実行される。
    False: 他のすべての動作は同じで、コマンドの実行はスキップされる。
    ('plotly_buttonclicked'メソッドにフックして、手動でAPIコマンドを実行するときに便利)
    このとき'method'と'args'の指定によってupdatemenuが自動的にプロットの状態に割り当てられる利点は失われない。

    label (string) Default: ""
    ボタンに表示するテキストラベルを設定する。

    method ("restyle" | "relayout" | "animate" | "update" | "skip") Default: "restyle"
    クリック時に呼び出されるPlotlyメソッドを設定する。
    'update': グラフの表示/非表示を更新する。

    name (string)
    テンプレートで使用すると、出力図が既に持っているアイテムに加えてこの配列に名前を付けたアイテムが作成される。
    出力される図中のこれらのアイテムは、'templateitemname'がこの'name'と一致するアイテムを作成し、
    変更内容 (非表示にするための'visible: False'や'enabled: False'も含む) と一緒に変更することができる。
    テンプレートの外では何の効果もない。

    templateitemname (string)
    テンプレート内のこの配列の名前付きアイテムを参照するために使用される。
    テンプレートからの名前付きアイテムは、入力図にマッチするアイテムがなくても作成されるが、
    'templateitemname'と'name'が一致するアイテムを作成し、それに修正を加えることで修正できる
    ('visible: False'や'enabled: False'で隠すことも可能)。
    テンプレートがない場合、または一致するアイテムがない場合、'visible.True'で明示的に表示しない限り非表示になる。
    'True'を指定しない限り、このアイテムは非表示になる。

    visible (Boolean)
    ボタンの表示/非表示。trueで表示。

    direction
    ( "left" | "right" | "up" | "down" ) Default: "down"

    ドロップダウンメニューやボタンを並べる向きを指定する。
    'left'と'up'の場合、ボタンはそれぞれ左から右、上から下の順番で表示される。

    font
    ( 以下のキーを持つ辞書 )

    更新メニューボタンのテキストのフォントを設定する。
    color (color)
    size (1以上の数字)
    family(string)
    HTMLフォントファミリー: ブラウザで適用される書体。
    ブラウザが動作するシステム上で利用可能である場合にのみ、フォントを適用できる。
    複数のフォントファミリーをカンマで区切って記載し、システムで利用できない場合に適用するフォントの優先順位を指定。

    name (string)

    テンプレートで使用すると、出力図が既に持っているアイテムに加えて、この配列に名前を付けたアイテムが作成される。
    出力される図中のこれらのアイテムは、'templateitemname'がこの'name'と一致するアイテムを作成し、
    変更内容 (非表示にするための'visible: False'や'enabled: False'も含む) と一緒に変更することができる。
    テンプレートの外では何の効果もない。

    pad
    ( 以下のキーを持つ辞書 )

    ボタンやドロップダウンメニューの周りのpaddingを設定する。
    b (number) Default: 0
    コンポーネントの下のpadding(px)
    lは左、rは右、tは上

    showactive
    (Boolean) Default: True

    True: アクティブなドロップダウン項目またはアクティブなボタンをハイライトする。

    templateitemname
    (string)

    テンプレート内のこの配列の名前付きアイテムを参照するために使用される。
    テンプレートからの名前付きアイテムは、入力図にマッチするアイテムがなくても作成されるが、
    'templateitemname'と'name'が一致するアイテムを作成し、それに修正を加えることができる。
    ('visible: False'や'enabled: False'で隠すことも可能)。
    テンプレートがない場合、または一致するアイテムがない場合、'visible.True'で明示的に表示しない限り非表示になる。
    'True'を指定しない限り、このアイテムは非表示になる。

    type
    ( "dropdown" | "buttons" ) Default: "dropdown"

    ボタンのタイプ。

    visible
    (boolean)

    更新メニューを表示するかどうかを設定する。

    x
    (-2~3の間の数字) Default: -0.05

    更新メニューのx位置(正規化された座標)を設定する。
    グラフ内の左端が0、右端が1。

    xanchor
    ( "auto" | "left" | "center" | "right" ) Default: "right"

    x座標をボタンのどこに合わせるか指定する(右端など)。
    更新メニューの水平位置アンカー。

    y
    (-2~3の間の数字) Default: 1

    更新メニューのy位置(正規化された座標)を設定する。
    グラフ内の下端が0、上端が1。

    yanchor
    ( "auto" | "top" | "middle" | "bottom" ) Default: "top"

    y座標をボタンのどこに合わせるか指定する(上端など)。
    このアンカーは'y'位置をレンジセレクタの"top", "middle", "bottom"のどれかに割り当てる。