PyGWalkerとShiny-Pythonの統合方法
Shiny-Python
はPythonを使用してインタラクティブなWebアプリケーションを構築するための優れたフレームワークであり、pygwalker
と組み合わせることで、データ駆動型のインタラクティブなWebアプリケーションを作成する新たな可能性が広がります。このチュートリアルでは、pygwalker
とShiny-Python
の統合プロセスを詳しく説明します。
必要条件:
shiny
およびpygwalker
ライブラリがインストールされていることを確認してください。次のコマンドでインストールできます:
pip install shiny pygwalker
ステップバイステップガイド:
1. 必要なライブラリをインポートする
必要なモジュールをインポートして開始します:
from shiny import App, ui
import pygwalker as pyg
from datasets import load_dataset
2. データセットのロード
このチュートリアルでは、NYC-Airbnbデータセットを利用していますが、好みのデータセットに置き換えることもできます:
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
3. Shinyのユーザーインターフェースを設計する
ui
コンポーネントを使用して、Shinyアプリケーションのユーザーインターフェース(UI)を定義します:
app_ui = ui.page_fluid(
ui.h1("PyGWalkerをShinyで使用する"),
ui.markdown("これは[pygwalker](https://github.com/Kanaries/pygwalker)をShinyと組み合わせて使用するデモです。"),
ui.HTML(pyg.walk(df, spec="./viz-config.json", return_html=True, debug=False)),
)
以下は、UIコンポーネントの簡単な説明です:
ui.h1()
: Shinyアプリにヘッダーを追加します。ui.markdown()
: 説明や追加情報のために、マークダウン形式のテキストを含めることができます。ui.HTML()
: ここでpygwalker
が登場します。pyg.walk()
関数はデータセットをインタラクティブな可視化に変換し、それがこのHTMLコンポーネントを介してShinyアプリでレンダリングされます。
4. サーバー関数を定義する
この例では、サーバー関数は空ですが、任意の反応的な動作はここで定義されます。アプリが複雑になるにつれて、より多くのインタラクティブなロジックがこのセクションに追加されることがあります。
def server(input, output, session):
...
5. アプリケーションをインスタンス化して実行する
最後に、Shinyアプリケーションのインスタンスを作成し、実行します:
app = App(app_ui, server)
アプリをすぐに起動する場合は、次の行を追加できます:
app.run()
または
shiny run --reload
結論
PyGWalker
をShiny-Python
と統合することで、両方のツールのパワーを活用して印象的でインタラクティブなデータ可視化Webアプリを構築することができます。これにより、ユーザー体験が向上するだけでなく、より広範な対象者がデータの洞察を活用できるようになります。さあ、データセットのポテンシャルを引き出して始めましょう!