ALLセレクタでグラフ表示
前回記事では、ALLセレクタを使って複数のコンポーネントの選択値をまとめて取得することができました。
今回は、選択した複数の選択値を折れ線グラフに反映します。
[ソースコード]
1 | import dash |
2つめのコールバック関数(update_graph)で、各ドロップダウンで選択された全ての値を折れ線グラフに反映しています。
[ブラウザで表示]
国名を複数選択すると、そのデータが折れ線グラフに反映されることが確認できます。
前回記事では、ALLセレクタを使って複数のコンポーネントの選択値をまとめて取得することができました。
今回は、選択した複数の選択値を折れ線グラフに反映します。
[ソースコード]
1 | import dash |
2つめのコールバック関数(update_graph)で、各ドロップダウンで選択された全ての値を折れ線グラフに反映しています。
[ブラウザで表示]
国名を複数選択すると、そのデータが折れ線グラフに反映されることが確認できます。
パターンマッチング・コールバックとは、条件に合ったコンポーネントの値を利用するコールバックです。
パターンマッチング・コールバックを使うと、UIに新たにコンポーネントを加えたり、そのコンポーネントに対してコールバックを適用したりすることができます。
パターンマッチング・コールバックを作成するために、次の3種類のセレクタを条件に使用します。
ALLセレクタは、IDキー”type”が一致する全てのコンポーネントをコールバックで利用できるセレクタです。
今回は、ボタンをクリックすると新たにドロップダウンが追加されるアプリケーションを作成します。
ドロップダウンではcountry列に含まれる国名が選択でき、各ドロップダウンで選択された全ての国名を画面下部に表示します。
[ソースコード]
1 | import dash |
1つ目のコールバック関数(update_layout)では、ボタンがクリックされるとUIにドロップダウンを追加します。
2つ目のコールバック関数(update_graph)では、全てのドロップダウンの選択結果を文字列にして返すために、ALLセレクタをInputのインスタンスに設定しています。
パターンマッチング・コールバックでは、Inputメソッドなどの IDキー”index” に対して、セレクタを渡すことにより選択するコンポーネントを指定します。
今回はALLセレクタを使って、IDキーが “type”:”my_dropdown”となっているコンポーネントの全てのvalue値をコールバックで返します。
[ブラウザで表示]
ボタンを押すと、ドロップダウンが追加されます。
またそれぞれのドロップダウンで国名を選択すると、選択された国名が全て画面下部にテキストで表示されます。
tipsデータセットを用いて、出力と入力が2つずつあるアプリケーションを作成します。
曜日を選択するドロップダウンと、グラフを選択するドロップダウンを配置します。
グラフはドロップダウンで選択されたグラフ(棒グラフ/散布図)が表示されます。
コールバック関数では選択された曜日とグラフの種類を抽出します。
この選択された曜日とグラフの種類に合わせてグラフを描画し、見出しと図形(figure)を返します。
[ソースコード]
1 | import dash |
曜日選択用のドロップダウンは複数選択とし、グラフ選択用のドロップダウンは単数選択としました。
曜日の選択肢は、データのday列のユニーク要素を使って作成しています。
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
選択された曜日がグラフに反映され、選択された種類のグラフが表示されることを確認できます。
Sliderコンポーネントのハンドル位置に応じて、見出しに表示される値が変化するDashアプリケーションを作成します。
app.callbackデコレータの出力項目に見出しのIDと属性、入力項目にはSliderコンポーネントのIDと属性を設定します。(21~24行目)
コールバック関数はSliderコンポーネントの値を返り値とします。(25~26行目)
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
スライダーの位置を変えると、見出しの数字が変わるアプリケーションができました。
コールバックは、インタラクティブなDashアプリケーションを作成するときに重要な機能です。
ユーザによるスライダーなどでの選択や、グラフ上でのマウスの動きをもとに、コールバックを利用することでインタラクティブなアプリケーションを構築できます。
ボタンをクリックするとテキストエリアへ入力された文字を見出しに反映するDashアプリケーションを作成します。
コールバックを実装するためには下記の設定を行います。
[ソースコード]
1 | import dash |
コールバック関数は次のように動作します。
コールバック関数の関数名と引数名は任意です。(24行目)
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
テキストエリアに文字を入力してボタンを押すと、上部のテキストを変更されます。
コンポーネントの配置を利用して、いろいろなコンポーネントを配置してみます。
コンポーネントの配置が複雑になる場合は、Divコンポーネントを用いてデザインの大枠を作成し、それに対して必要なコンポーネントを格納するのがオススメです。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
いろいろな種類のコンポーネントを配置することができました。
今回は、Dashの公式ドキュメントで用いられるスタイルシートと引数 styleを併用して、複数のDivコンポーネントを配置します。
要素の横並びのcssはスタイルシートのクラス名を引数 classNameに設定します。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
スタイルシートと引数 styleを併用して、複数のDivコンポーネントを配置することができました。
今回は外部cssを使って、複数コンポーネントを配置します。
まずは、下記のようにcssを定義します。
Divコンポーネントのスタイルを設定するcss(①②)と、横並びにするcss(③)を定義しています。
[ソースコード]
1 | /* ①みどり色の長方形 */ |
上記のcssファイルは、assetsフォルダの配下に格納しておきます。
次に、外部cssを参照するDashアプリケーションを作成します。
各コンポーネントのclassName属性に対応するcssのクラス名を渡し、各コンポーネントのスタイルを設定します。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
外部cssを使って、複数のDivコンポーネントを配置することができました。
2種類の長方形スタイルを定義し、1行目に2つ、2行目に3つの長方形を表示してみます。
Divコンポーネントに複数のDivコンポーネントをリストで設定することで、複数コンポーネントを配置することができます。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
複数のDivコンポーネントを配置することができました。
Dashで、複数のコンポーネントを配置するには、下記の3種類の方法があります。
今回は引数 styleを使った複数コンポーネントの配置を試していきます。
まずは、Divコンポーネントを確認しやすくするために、cssを用いて形や色を設定します。
[ソースコード]
1 | import dash |
上記ソースを実行すると、コンソールにURLが表示されるのでブラウザで表示します。
[ブラウザで表示]
黄色の長方形(Divコンポーネント)がブラウザの中央に表示されました。
次回は、今回のように色付けしたDivコンポーネントを複数配置します。