Skip to content
PYGWALKER
チュートリアル
PyGWalkerとShiny-Pythonの統合方法

PyGWalkerとShiny-Pythonの統合方法

Shiny-PythonはPythonを使用してインタラクティブなWebアプリケーションを構築するための優れたフレームワークであり、pygwalkerと組み合わせることで、データ駆動型のインタラクティブなWebアプリケーションを作成する新たな可能性が広がります。このチュートリアルでは、pygwalkerShiny-Pythonの統合プロセスを詳しく説明します。

必要条件:

  1. 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

結論

PyGWalkerShiny-Pythonと統合することで、両方のツールのパワーを活用して印象的でインタラクティブなデータ可視化Webアプリを構築することができます。これにより、ユーザー体験が向上するだけでなく、より広範な対象者がデータの洞察を活用できるようになります。さあ、データセットのポテンシャルを引き出して始めましょう!

参考文献

pygwalker-in-shinyデモコード (opens in a new tab)