Skip to content
PYGWALKER
API リファレンス
Streamlit Component

PyGWalker Streamlit API ガイド

このガイドでは、PyGWalkerをStreamlitアプリケーションに統合し、インタラクティブなデータビジュアライゼーション機能を提供する方法を説明します。

StreamlitRenderer クラス

StreamlitRendererクラスは、StreamlitアプリでPyGWalkerを使用するための主要なインターフェースです。

from pygwalker.api.streamlit import StreamlitRenderer
 
renderer = StreamlitRenderer(df, spec="./gw_config.json")

主要なパラメータ

パラメータタイプデフォルト説明
datasetUnion[DataFrame, Connector]-入力データソース
specstr""チャート設定データ (ID、JSON、またはURL)
spec_io_modeLiteral["r", "rw"]"r"Spec I/Oモード: "r" (読み取り) または "rw" (読み取り/書き込み)
kernel_computationboolNone高性能カーネル計算を有効化
appearanceLiteral['media', 'light', 'dark']'media'テーマ設定
default_tabLiteral["data", "vis"]"vis"デフォルトで表示するタブ

主なメソッド

1. explorer()

完全なGraphicWalker UIを表示します。

renderer.explorer(width=None, height=1000, scrolling=False, default_tab="vis")

2. chart(index)

特定のチャートをレンダリングします。

renderer.chart(index, width=None, height=1000, scrolling=False)

3. viewer()

チャートの表示専用バージョンを表示します。

renderer.viewer(width=None, height=1000, scrolling=False)

ベストプラクティス

  1. キャッシュ: Streamlitのキャッシングを使用してメモリ問題を防ぐ:

    @st.cache_resource
    def get_pyg_renderer():
        df = pd.read_csv("data.csv")
        return StreamlitRenderer(df, spec="./gw_config.json")
  2. 大規模データセット: 大規模データセットに対してはkernel_computation=Trueを有効にしてパフォーマンスを向上させる。

  3. レイアウト: 最適な表示のためにStreamlitのレイアウトオプション (例:st.set_page_config(layout="wide")) を使用する。

  4. タブ: CleanなインターフェースのためにStreamlitタブを使用して異なるPyGWalkerビューを整理する。

例: Streamlit アプリでの PyGWalker の使用

import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
 
st.set_page_config(page_title="PyGWalker in Streamlit", layout="wide")
st.title("PyGWalker in Streamlit Demo")
 
@st.cache_resource
def get_pyg_renderer() -> StreamlitRenderer:
    df = pd.read_csv("data.csv")
    return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")
 
renderer = get_pyg_renderer()
 
tab1, tab2, tab3 = st.tabs(["Explorer", "Data Profiling", "Charts"])
 
with tab1:
    renderer.explorer()
 
with tab2:
    renderer.explorer(default_tab="data")
 
with tab3:
    st.subheader("Registered per Weekday")
    renderer.chart(0)
    st.subheader("Registered per Day")
    renderer.chart(1)

高度な内容: Tableau/PowerBIの代替品を構築する

大規模データセットを扱うオープンソースのTableau/PowerBI代替品を作成するには:

  1. PyGWalkerを使用してインタラクティブなビジュアライゼーションを提供
  2. Streamlitをウェブアプリケーションフレームワークとして活用
  3. Snowflakeを統合して大規模データを管理

この組み合わせにより、データビジュアライゼーションと分析のための強力でスケーラブルなソリューションが提供されます。

詳細と高度な使用法については、PyGWalkerのドキュメント (opens in a new tab)を参照してください。

関連Q&A

大量のデータを扱えるOnlineのTableau/PowerBI代替品を構築するには?

回答: pygwalker + streamlit + snowflakeを使用して、大量のデータを扱えるOnlineのTableau/PowerBI代替品を構築できます。