PyGWalker Gradio API 사용 가이드
이 가이드는 PyGWalker를 Gradio 애플리케이션과 통합하여 Gradio UI 내에서 대화형 데이터 시각화 기능을 구현하는 방법을 설명합니다.
빠른 시작
Gradio 앱에서 PyGWalker를 렌더링하려면 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 입출력 모드: "r" (읽기) 또는 "rw" (읽기/쓰기) |
kernel_computation | bool | None | 고성능 커널 계산 활성화 |
appearance | Literal['media', 'light', 'dark'] | 'media' | 테마 설정 |
default_tab | Literal["data", "vis"] | "vis" | 기본 탭을 표시 |
모범 사례
- 데이터 로딩: 데이터를 효율적으로 로드하고, 큰 데이터 셋의 경우 캐싱을 고려합니다.
- 설정 관리: 차트 설정(
spec
파라미터)을 별도의 JSON 파일로 관리하여 시각화를 쉽게 업데이트합니다. - 성능 개선: 큰 데이터 셋의 경우
kernel_computation=True
로 설정하여 성능을 향상시킵니다. - 테마 맞춤: Gradio 앱의 테마와 일치하도록
appearance
파라미터를 조정합니다. - 상호작용성:
spec_io_mode="rw"
로 설정하여 사용자가 차트 구성을 수정하고 저장할 수 있도록 합니다.
고급 사용법
사용자 정의 라우팅
항상 Gradio 앱의 라우트에 PYGWALKER_ROUTE
를 포함하세요:
app = demo.launch(app_kwargs={"routes": [PYGWALKER_ROUTE]})
이를 통해 PyGWalker와 Gradio 앱 간의 원활한 통신이 보장됩니다.
다른 Gradio 구성 요소와 결합
다양한 Gradio 구성 요소와 PyGWalker를 결합하여 보다 종합적인 데이터 분석 도구를 만들 수 있습니다:
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)를 참조하세요.