Spaces:
Sleeping
Sleeping
| # 图像推荐模块 (image_recommender) | |
| 图像推荐模块(`image_recommender`)是 ChartPipeline 框架的第六个处理环节,负责推荐与图表内容相关的图像和图标元素。 | |
| ## 功能简介 | |
| 本模块基于数据内容、主题和视觉设计需求,为可视化推荐相关的图像和图标元素。适当的图像可以增强数据叙事,提供上下文信息,增加视觉吸引力,并帮助用户更好地理解和记忆数据。模块通过智能匹配和筛选,推荐最适合当前数据和主题的视觉元素。 | |
| ## 输入与输出 | |
| ### 输入 | |
| 模块接收包含以下字段的数据对象: | |
| - `chart_type`: 图表类型推荐 | |
| - `datafacts`: 数据洞察 | |
| - `titles`: 生成的标题和副标题 | |
| - `layout`: 布局和变体配置 | |
| - `colors`: 配色方案 | |
| ### 输出 | |
| 模块向输入数据添加 `images` 字段,结构如下: | |
| ```json | |
| { | |
| "images": { | |
| "field": { | |
| "Still active": "data:image/svg+xml;base64,...", | |
| "Ended": "data:image/svg+xml;base64,...", | |
| "Time Period": "data:image/svg+xml;base64,...", | |
| "Status": "data:image/svg+xml;base64,..." | |
| }, | |
| "other": { | |
| "primary": "data:image/svg+xml;base64,...", | |
| "man": "data:image/svg+xml;base64,...", | |
| "us_flag": "base64_encoded_image_data_for_us_flag" | |
| } | |
| } | |
| } | |
| ``` | |
| ### 图像字段说明 | |
| | 字段 | 类型 | 描述 | | |
| |------|------|------| | |
| | `field` | 对象 | 数据标记/标签图标,键为数据类别或值,值为对应的图像数据 | | |
| | `other` | 对象 | 其他必要图像,如背景、装饰或主题相关图像 | | |
| ## 图像类型和功能 | |
| 模块支持多种类型的图像元素,每种具有不同的功能: | |
| 1. **数据标记图标** | |
| - 替代或增强常规数据点标记 | |
| - 通过图标形状直观表达数据类别 | |
| - 增加图表的辨识度和趣味性 | |
| 2. **标签和轴图标** | |
| - 增强坐标轴标签的视觉表达 | |
| - 提供数据类别的直观识别 | |
| - 减少文本阅读负担 | |
| 3. **背景和装饰图像** | |
| - 提供主题相关的视觉上下文 | |
| - 增强整体设计美感 | |
| - 创建情感联系和记忆点 | |
| 4. **辅助解释图像** | |
| - 提供对数据的补充说明 | |
| - 显示相关物理对象或概念 | |
| - 增强数据叙事的说服力 | |
| ## 图像推荐策略 | |
| 模块使用以下策略推荐最合适的图像: | |
| 1. **主题匹配** | |
| - 基于数据主题和内容关键词匹配相关图像 | |
| - 考虑元数据中的描述和标题 | |
| 2. **情感一致性** | |
| - 匹配图像的情感基调与数据洞察的情感 | |
| - 避免视觉元素与数据叙事产生冲突 | |
| 3. **视觉协调性** | |
| - 选择与配色方案协调的图像 | |
| - 确保图像风格统一,避免视觉混乱 | |
| 4. **功能适配性** | |
| - 根据布局和图表类型选择合适尺寸和方向的图像 | |
| - 针对不同的使用场景选择适当的详细程度 | |
| ## 使用示例 | |
| ### 命令行调用 | |
| ```bash | |
| python -m modules.image_recommender.image_recommender --input input_data.json --output output_data.json | |
| ``` | |
| ### 程序调用 | |
| ```python | |
| from modules.image_recommender.image_recommender import process | |
| success = process(input='input_data.json', output='output_data.json') | |
| if success: | |
| print("图像推荐完成") | |
| else: | |
| print("图像推荐失败") | |
| ``` | |