README.md

January 20, 2026 · View on GitHub

feffery-infographic

🦋 轻松构建新一代声明式信息图可视化

Plotly Dash GitHub PyPI Ruff

简体中文 | English

Infographic Preview

适用于Python全栈应用开发框架Plotly Dash的组件库,基于AntV Infographic,提供丰富的信息图渲染功能。

目录

1 安装
2 API
3 基础使用
4 信息图语法参考
5 全部可用信息图示例
6 贡献者
7 进阶使用
8 更多应用开发教程

1 安装

pip install feffery-infographic -U

2 API

Infographic 信息图渲染组件

属性名类型默认值说明
idstring-组件唯一 ID
keystring-更新当前组件的 key 值,可用于强制触发组件重绘
styledict-当前组件的 CSS 样式对象
classNamestring-当前组件的 CSS 类名
syntaxstring-必填,用于定义信息图内容的语法字符串
widthnumber | string-信息图容器宽度,支持数值或字符串(如 '100%'
heightnumber | string-信息图容器高度,支持数值或字符串(如 '500px'
paddingnumber | list-信息图容器内边距,支持数值或数组格式(如 [top, right, bottom, left]
editablebooleanFalse是否开启可编辑模式
exportTriggerdict-触发图片导出或下载操作的配置对象,每次更新都会触发操作并在执行后重置为空
exportEventdict-监听最近一次图片导出事件的数据对象
debugWindowInstanceNamestring-调试专用,设置后会将当前组件实例挂载到 window 对象下的指定变量名

exportTrigger 配置详解:

  • type: string,导出图片的格式,可选值有 'png''svg',默认为 'png'
  • dpr: number,导出 'png' 格式图片时的像素比,默认为 1
  • download: boolean,是否自动触发浏览器下载,默认为 True
  • fileName: string,下载文件的名称(不含后缀),默认为 'infographic_export'

exportEvent 结构详解:

  • timestamp: number,事件触发的时间戳。
  • type: string,导出的图片格式,可能值为 'png''svg'
  • data: string,导出的图片 dataURL 数据。

内置提示词模块

feffery_infographic.prompts 模块内置了针对大型语言模型(LLM)的提示词,旨在辅助生成标准的信息图语法内容。

变量名说明
base_prompt适用于中文场景的系统提示词,包含详细的语法规范、模板说明及生成流程。
base_prompt_en适用于英文场景的系统提示词,内容结构与 base_prompt 保持一致。

使用示例:

from feffery_infographic.prompts import base_prompt

# 将 base_prompt 作为 system message 传递给 LLM
messages = [
    {"role": "system", "content": base_prompt},
    {"role": "user", "content": "请帮我生成一个关于互联网发展史的时间轴信息图"}
]

3 基础使用

import dash
from dash import html
import feffery_infographic as fi

app = dash.Dash(__name__)

app.layout = html.Div(
    [
        fi.Infographic(
            # 定义信息图语法
            syntax="""
infographic list-row-simple-horizontal-arrow
data
  items
    - label 步骤 1
      desc 开始
    - label 步骤 2
      desc 进行中
    - label 步骤 3
      desc 完成
""",
        )
    ],
    style={'padding': 50},
)

if __name__ == '__main__':
    app.run(debug=True)

Basic Usage

4 信息图语法参考

👉 https://infographic.antv.vision/learn/infographic-syntax

5 全部可用信息图示例

👉 https://infographic.antv.vision/gallery

6 贡献者

7 进阶使用

场景功能描述源码
流式渲染基于最常见的SSE服务演示信息图语法的流式更新渲染stream_render_example
可编辑信息图中的文字等主要元素可进一步在线手动编辑editable_example
下载图片调用组件内置的图片下载功能,支持svgpng格式download_example

8 更多应用开发教程

微信公众号「玩转 Dash」,欢迎扫码关注 👇

「玩转 Dash」知识星球,海量教程案例模板资源,专业的答疑咨询服务,欢迎扫码加入 👇