Spaces:
Sleeping
Sleeping
| # ChartPipeline 使用指南 | |
| 本指南将帮助您快速上手 ChartPipeline 框架,了解如何安装、配置和使用该工具生成高质量的数据可视化。 | |
| ## 目录 | |
| - [安装](#安装) | |
| - [基本使用](#基本使用) | |
| - [进阶使用](#进阶使用) | |
| - [常见问题](#常见问题) | |
| - [故障排除](#故障排除) | |
| ## 安装 | |
| ### 系统要求 | |
| - Python 3.8 或更高版本 | |
| - 建议使用 Linux 或 macOS,Windows 也支持 | |
| ### 安装步骤 | |
| 1. 克隆代码库: | |
| ```bash | |
| git clone https://github.com/yourusername/ChartPipeline.git | |
| cd ChartPipeline | |
| ``` | |
| 2. 安装依赖: | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 3. 验证安装: | |
| ```bash | |
| python -m pipeline --help | |
| ``` | |
| ## 基本使用 | |
| ChartPipeline 可以通过以下方式使用: | |
| ### 1. 完整管道处理 | |
| 使用 `pipeline.py` 脚本执行整个数据可视化生成流程: | |
| ```bash | |
| python pipeline.py --input data.json --output chart.svg | |
| ``` | |
| 这将依次执行所有模块,将 `data.json` 转换为 `chart.svg`。 | |
| ### 2. 单模块处理 | |
| 您也可以单独调用特定模块: | |
| ```bash | |
| # 图表类型推荐 | |
| python -m modules.chart_type_recommender.chart_type_recommender --input data.json --output data_with_chart_type.json | |
| # 数据洞察生成 | |
| python -m modules.datafact_generator.datafact_generator --input data_with_chart_type.json --output data_with_insights.json | |
| # 其他模块类似... | |
| ``` | |
| ### 3. 编程方式使用 | |
| 在您自己的 Python 代码中使用: | |
| ```python | |
| from pipeline import run_pipeline | |
| success = run_pipeline( | |
| input_path='data.json', | |
| output_path='output.svg', | |
| temp_dir='tmp' | |
| ) | |
| if success: | |
| print("可视化生成成功!") | |
| ``` | |
| ## 数据准备 | |
| ChartPipeline 需要特定格式的 JSON 输入文件。以下是创建有效输入的指南: | |
| ### 输入文件结构 | |
| 输入 JSON 应包含两个主要部分:`metadata` 和 `data`: | |
| ```json | |
| { | |
| "metadata": { | |
| "title": "图表标题", | |
| "description": "图表描述", | |
| "main_insight": "主要洞察" | |
| }, | |
| "data": { | |
| "columns": [ | |
| { | |
| "name": "列名", | |
| "importance": "primary", | |
| "description": "列描述", | |
| "unit": "单位", | |
| "data_type": "数据类型", | |
| "role": "在图表中的角色" | |
| }, | |
| // 更多列定义... | |
| ], | |
| "data": [ | |
| { | |
| "列名1": 值1, | |
| "列名2": 值2, | |
| // ... | |
| }, | |
| // 更多数据行... | |
| ] | |
| } | |
| } | |
| ``` | |
| 参考 [输入数据格式](./02_input_data_format.md) 获取详细规范。 | |
| ### 示例数据 | |
| 框架附带了几个示例数据文件,您可以作为参考: | |
| ```bash | |
| # 使用示例数据生成图表 | |
| python pipeline.py --input examples/time_series/national_emergencies.json --output emergencies_chart.svg | |
| ``` | |
| ## 进阶使用 | |
| ### 自定义模块执行 | |
| 您可以选择仅执行部分模块: | |
| ```bash | |
| python pipeline.py --input data.json --output chart.svg --modules chart_type_recommender,datafact_generator,title_generator,chart_engine | |
| ``` | |
| ### 临时文件存储 | |
| 管理临时文件的位置: | |
| ```bash | |
| python pipeline.py --input data.json --output chart.svg --temp-dir ./my_temp_folder | |
| ``` | |
| ### 配置文件 | |
| 通过配置文件自定义框架行为: | |
| 1. 创建配置文件 `config.yaml`: | |
| ```yaml | |
| chart_type_recommender: | |
| max_recommendations: 3 | |
| datafact_generator: | |
| max_facts: 5 | |
| color_recommender: | |
| color_blind_friendly: true | |
| # 其他模块配置... | |
| ``` | |
| 2. 应用配置: | |
| ```bash | |
| python pipeline.py --input data.json --output chart.svg --config config.yaml | |
| ``` | |
| ## 输出格式 | |
| ChartPipeline 默认输出 SVG 格式,但也支持转换为其他格式: | |
| ```bash | |
| # 导出为 PNG | |
| python pipeline.py --input data.json --output chart.png --format png | |
| # 导出为 PDF | |
| python pipeline.py --input data.json --output chart.pdf --format pdf | |
| ``` | |
| ## 自定义和扩展 | |
| ### 添加新图表类型 | |
| 1. 在 `modules/chart_engine/templates/` 目录下创建新模板文件 | |
| 2. 在 `modules/chart_engine/chart_engine.py` 中注册新图表类型 | |
| 3. 在 `modules/chart_type_recommender/chart_type_recommender.py` 中添加新图表类型的推荐逻辑 | |
| ## 故障排除 | |
| ### 常见错误 | |
| 1. **输入数据格式错误** | |
| - 检查 JSON 文件格式是否符合要求 | |
| - 验证所有必需字段是否存在 | |
| 2. **模块导入错误** | |
| - 确认已安装所有依赖项 | |
| - 检查 Python 环境路径是否正确 | |
| 3. **SVG 渲染问题** | |
| - 确保系统安装了必要的图形库 | |
| - 检查生成的 SVG 文件语法是否正确 | |
| ### 日志和调试 | |
| 启用详细日志以帮助诊断问题: | |
| ```bash | |
| python pipeline.py --input data.json --output chart.svg --log-level debug | |
| ``` | |
| 日志文件默认保存在 `logs/` 目录中。 | |
| ## 性能优化 | |
| 提高处理大型数据集的速度: | |
| 1. 使用 PyPy 代替 CPython 运行框架 | |
| 2. 启用多进程模式:`--parallel true` | |
| 3. 对输入数据进行预处理和优化 | |
| 4. 考虑使用内存映射文件处理中间结果 | |
| ## 社区和支持 | |
| - GitHub Issues: 报告 bug 和功能请求 | |
| - 文档: 完整的文档在 `docs/` 目录下 | |
| - 示例: 查看 `examples/` 目录获取示例用法 |