PyGWalker Gradio APIガイド
このガイドでは、PyGWalkerをGradioアプリケーションに統合し、GradioのUI内でインタラクティブなデータビジュアライゼーション機能を実現する方法について説明します。
クイックスタート
PyGWalkerをGradioアプリでレンダリングするには、get_html_on_gradio
関数を使用します:
import gradio as gr
import pandas as pd
from pygwalker.api.gradio import PYGWALKER_ROUTE, get_html_on_gradio
with gr.Blocks() as demo:
df = pd.read_csv("data.csv")
pyg_html = get_html_on_gradio(df, spec="./gw_config.json", spec_io_mode="rw")
gr.HTML(pyg_html)
app = demo.launch(app_kwargs={"routes": [PYGWALKER_ROUTE]})
キー関数: get_html_on_gradio
この関数は、PyGWalkerをGradioアプリケーションに埋め込むためのHTMLを生成します。
重要なパラメータ
パラメータ | タイプ | デフォルト | 説明 |
---|---|---|---|
dataset | Union[DataFrame, Connector] | - | 入力データソース |
spec | str | "" | チャート設定データ(ID、JSONまたはURL) |
spec_io_mode | Literal["r", "rw"] | "r" | Spec I/Oモード: "r"(読み取り) または "rw"(読み書き) |
kernel_computation | bool | None | 高性能カーネル計算を有効にするかどうか |
appearance | Literal['media', 'light', 'dark'] | 'media' | テーマ設定 |
default_tab | Literal["data", "vis"] | "vis" | デフォルトで表示するタブ |
ベストプラクティス
-
データの読み込み: 大規模なデータセットの場合は、効率的にデータを読み込み、キャッシュを検討します。
-
設定: チャートの設定(
spec
パラメータ)には、別のJSONファイルを使用し、ビジュアライゼーションを簡単に管理・更新できるようにします。 -
パフォーマンス: 大規模なデータセットでは、
kernel_computation=True
を設定してパフォーマンスを向上させます。 -
テーマ:
appearance
パラメータを調整して、Gradioアプリのテーマに合わせます。 -
インタラクティブ性:
spec_io_mode="rw"
を設定して、ユーザーがチャート設定を変更および保存できるようにします。
高度な使用方法
カスタムルーティング
Gradioアプリのルートに常にPYGWALKER_ROUTE
を含めます:
app = demo.launch(app_kwargs={"routes": [PYGWALKER_ROUTE]})
これにより、PyGWalkerとGradioアプリの間の適切な通信が確保されます。
他のGradioコンポーネントとの組み合わせ
PyGWalkerを他のGradioコンポーネントと組み合わせて、より包括的なデータ分析ツールを作成できます:
with gr.Blocks() as demo:
gr.Markdown("# Data Visualization with PyGWalker")
with gr.Tab("PyGWalker Explorer"):
pyg_html = get_html_on_gradio(df, spec="./gw_config.json")
gr.HTML(pyg_html)
with gr.Tab("Data Summary"):
gr.DataFrame(df.describe())
with gr.Tab("Raw Data"):
gr.DataFrame(df)
トラブルシューティング
- ビジュアライゼーションがレンダリングされない場合は、データ形式を確認し、
PYGWALKER_ROUTE
が正しく含まれているかを確認してください。 - 大規模なデータセットのパフォーマンス問題については、
kernel_computation
を有効にし、データサンプリング技術を検討してください。
詳細情報や高度な機能については、PyGWalkerドキュメント (opens in a new tab)を参照してください。