プロットカスタムボタン:複数のサブプロットに同じスケールを設定することは可能ですか?

the.real.gruycho

いくつかのデータをサブプロットにプロットします。各サブプロットは、デフォルトで自動スケーリングされます。

簡単に比較できるように、すべてのサブプロットで同じスケールにしたい場合があります。

https://plotly.com/python/custom-buttons/のスタイルでボタンを使用してこれを行うことは可能ですか

ボタン付きのサンプルコード:

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

# Load dataset
df = pd.read_csv(
    "https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
df.columns = [col.replace("AAPL.", "") for col in df.columns]

# Initialize figure

fig = make_subplots(rows=1, cols=2)

# Add Traces

fig.add_trace(
    go.Scatter(x=list(df.index),
               y=list(df.High*2),
               name="High",
               line=dict(color="#33CFA5")),
    row = 1, col = 1
)

fig.add_trace(
    go.Scatter(x=list(df.index),
               y=list(df.Low),
               name="Low",
               line=dict(color="#F06A6A")),
    row = 1, col = 2
)


# Add Buttons

fig.update_layout(
    updatemenus=[
        dict(
            type="buttons",
            direction="right",
            active=0,
            x=0.57,
            y=1.2,
            buttons=list([
                dict(label="Autoscale for each",
                     method="update",
                     args=[ # set autoscale for each subplot
                           {"title": "Autoscale"}]),
                dict(label="Same scale",
                     method="update",
                     args=[ # set same scale for all. how? 
                           {"title": "Same scale for all"}]),
            ]),
        )
    ])

# Set title
fig.update_layout(
    title_text="Yahoo",
)

fig.show()

PS私はこれを手動で行う方法を知っています:

fig.update_yaxes(range=[ymin, ymax])
rpanai

この場合、レイアウトを変更するrelayout代わりにを使用する必要がありupdateます。次に、両方のボタンで、autorange: Trueまたはrange: [y_min, y_max]foryaxisを定義する必要ありyaxis2ます。

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

# Load dataset
df = pd.read_csv(
    "https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
df.columns = [col.replace("AAPL.", "") for col in df.columns]

# you need to define yaxis range
y_max = max(df["High"].max()*2, df["Low"].max())
y_min = min(df["High"].min()*2, df["Low"].min())

# Initialize figure

fig = make_subplots(rows=1, cols=2)

# Add Traces

fig.add_trace(
    go.Scatter(x=df.index,
               y=df["High"]*2,
               name="High",
               line=dict(color="#33CFA5")),
    row = 1, col = 1
)

fig.add_trace(
    go.Scatter(x=df.index,
               y=df["Low"],
               name="Low",
               line=dict(color="#F06A6A")),
    row = 1, col = 2
)


# Add Buttons

fig.update_layout(
    updatemenus=[
        dict(
            type="buttons",
            direction="right",
            active=0,
            x=0.57,
            y=1.2,
            buttons=list([
                dict(label="Autoscale for each",
                     method="relayout",
                     args=[{'yaxis.autorange': True,
                            'yaxis2.autorange': True},
                          ]),
                dict(label="Same scale",
                     method="relayout",
                     args=[{'yaxis.range': [y_min, y_max],
                            'yaxis2.range': [y_min, y_max]}]),
            ]),
        )
    ])

# Set title
fig.update_layout(
    title_text="Yahoo"
)

fig.show()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のプロジェクトが同じパッケージ名でターゲットをエクスポートすることは可能ですか?

分類Dev

Xubuntuの「キーボード」設定で1つのカスタムキーボードショートカットを使用して複数のアプリケーションを起動することは可能ですか?

分類Dev

Windowsフォームコントロールの同じインスタンスを複数のコンテナーに追加することは可能ですか?

分類Dev

カスタムツールボックスリポジトリをアドオンエクスプローラーに追加することは可能ですか?

分類Dev

Google Analytics-同じカスタムレポートの各タブに異なるフィルターを設定することは可能ですか?

分類Dev

同じプログラムの複数のインスタンスからの複数のスレッド間で通信することは可能ですか?

分類Dev

Flinkの同じスロットにオペレーターの複数のサブタスクを含めることはできますか?

分類Dev

同じ変数の複数のヒストグラムを異なるスケールで1ページにプロットすることは可能ですか?

分類Dev

matplotlibを使用してPythonのサブプロットに同じスケールを設定する方法

分類Dev

サーブレット内からプログラムで要求コンテキストパスを設定することは可能ですか?

分類Dev

QtCreatorのQtウィジェットにカスタムプロパティを設定(追加)することは可能ですか?

分類Dev

Ubuntuと同じプログラムセットを複数のコンピューターにインストールするためのスクリプト

分類Dev

Ubuntuと同じプログラムセットを複数のコンピューターにインストールするためのスクリプト

分類Dev

ボケプロットのカスタム散布図を簡単に変更/作成することは可能ですか?

分類Dev

k8sの同じサービスアカウントに複数のロールバインディングを設定することは可能ですか?

分類Dev

タブバーコントローラーの同じアイテムを使用して、ブールプロパティの値に基づいて代替ビューをインスタンス化することは可能ですか?

分類Dev

別のグループリスト(groupby)内にグループリストを実装する方法。dartカスタムオブジェクトで複数のハッシュコードとoperator ==を使用することは可能ですか?

分類Dev

Googleサービスアカウントをプロジェクト内の特定のBigQueryデータセットに制限することは可能ですか?

分類Dev

カスタムウィジェットを使用せずに、単一のダイアログフィールドを複数のJCRプロパティにマップすることは可能ですか?

分類Dev

カスタムブートストラップ4ボタンの色をグローバルに設定

分類Dev

マット選択ドロップダウンにカスタムボタンを追加することは可能ですか?

分類Dev

material-uiのチップコンポーネントの削除ボタンのスタイルを設定することは可能ですか?

分類Dev

Python3で同じプロットに複数のオブジェクトからインスタンス属性をプロットする方法

分類Dev

古典的なワードプレスの投稿をカスタムグーテンベルクブロックに変換することは可能ですか?

分類Dev

Gitリポジトリのアップストリームを同じリポジトリのローカルクローンに設定できますか?

分類Dev

Swiftでプロトコルインスタンスのオブザーバー(KVO)を設定することは可能ですか?

分類Dev

リーフレットマップでMBTilesのスタイルを設定することは可能ですか?

分類Dev

ユーザーのAppleID(サンドボックスアプリ内購入用)をプログラムで設定することは可能ですか?

分類Dev

グラフィカルなユビキタスベースのデスクトップISOインストーラーを使用しながらAPTのプロキシを設定することは可能ですか?

Related 関連記事

  1. 1

    複数のプロジェクトが同じパッケージ名でターゲットをエクスポートすることは可能ですか?

  2. 2

    Xubuntuの「キーボード」設定で1つのカスタムキーボードショートカットを使用して複数のアプリケーションを起動することは可能ですか?

  3. 3

    Windowsフォームコントロールの同じインスタンスを複数のコンテナーに追加することは可能ですか?

  4. 4

    カスタムツールボックスリポジトリをアドオンエクスプローラーに追加することは可能ですか?

  5. 5

    Google Analytics-同じカスタムレポートの各タブに異なるフィルターを設定することは可能ですか?

  6. 6

    同じプログラムの複数のインスタンスからの複数のスレッド間で通信することは可能ですか?

  7. 7

    Flinkの同じスロットにオペレーターの複数のサブタスクを含めることはできますか?

  8. 8

    同じ変数の複数のヒストグラムを異なるスケールで1ページにプロットすることは可能ですか?

  9. 9

    matplotlibを使用してPythonのサブプロットに同じスケールを設定する方法

  10. 10

    サーブレット内からプログラムで要求コンテキストパスを設定することは可能ですか?

  11. 11

    QtCreatorのQtウィジェットにカスタムプロパティを設定(追加)することは可能ですか?

  12. 12

    Ubuntuと同じプログラムセットを複数のコンピューターにインストールするためのスクリプト

  13. 13

    Ubuntuと同じプログラムセットを複数のコンピューターにインストールするためのスクリプト

  14. 14

    ボケプロットのカスタム散布図を簡単に変更/作成することは可能ですか?

  15. 15

    k8sの同じサービスアカウントに複数のロールバインディングを設定することは可能ですか?

  16. 16

    タブバーコントローラーの同じアイテムを使用して、ブールプロパティの値に基づいて代替ビューをインスタンス化することは可能ですか?

  17. 17

    別のグループリスト(groupby)内にグループリストを実装する方法。dartカスタムオブジェクトで複数のハッシュコードとoperator ==を使用することは可能ですか?

  18. 18

    Googleサービスアカウントをプロジェクト内の特定のBigQueryデータセットに制限することは可能ですか?

  19. 19

    カスタムウィジェットを使用せずに、単一のダイアログフィールドを複数のJCRプロパティにマップすることは可能ですか?

  20. 20

    カスタムブートストラップ4ボタンの色をグローバルに設定

  21. 21

    マット選択ドロップダウンにカスタムボタンを追加することは可能ですか?

  22. 22

    material-uiのチップコンポーネントの削除ボタンのスタイルを設定することは可能ですか?

  23. 23

    Python3で同じプロットに複数のオブジェクトからインスタンス属性をプロットする方法

  24. 24

    古典的なワードプレスの投稿をカスタムグーテンベルクブロックに変換することは可能ですか?

  25. 25

    Gitリポジトリのアップストリームを同じリポジトリのローカルクローンに設定できますか?

  26. 26

    Swiftでプロトコルインスタンスのオブザーバー(KVO)を設定することは可能ですか?

  27. 27

    リーフレットマップでMBTilesのスタイルを設定することは可能ですか?

  28. 28

    ユーザーのAppleID(サンドボックスアプリ内購入用)をプログラムで設定することは可能ですか?

  29. 29

    グラフィカルなユビキタスベースのデスクトップISOインストーラーを使用しながらAPTのプロキシを設定することは可能ですか?

ホットタグ

アーカイブ