介绍
生成带有百分位曲线和儿童数据覆盖的 WHO 儿童生长标准图表。
## Features
- **年龄别身高**(0-19 岁) - **年龄别体重**(0-10 岁) - **年龄别 BMI**(0-19 岁) - 支持 **男孩和女孩** - **按需下载 WHO 数据**(来自 cdn.who.int,本地缓存) - 叠加儿童的实际测量数据和趋势线
## 示例
| 身高 | 体重 | BMI | |--------|--------|-----| | <img src="examples/anna_height.png" width="250"> | <img src="examples/anna_weight.png" width="250"> | <img src="examples/anna_bmi.png" width="250"> |
## 先决条件
安装 Python 依赖: ```bash pip install pandas matplotlib scipy openpyxl ```
## 用法
### 基础图表生成
```bash python3 ./scripts/growth_chart.py "Child Name" "DD.MM.YYYY" --sex F --type all ```
参数: - `name`:儿童姓名(用于图表标题) - `birthdate`:出生日期,格式为 DD.MM.YYYY - `--sex` / `-s`:`F`(女性)或 `M`(男性)——默认:F - `--type` / `-t`:`height`、`weight`、`bmi` 或 `all`——默认:all - `--data` / `-d`:包含测量数据的 JSON 文件 - `--output` / `-o`:图表的输出目录
### 使用测量数据
创建一个包含身高/体重测量数据的 JSON 文件(身高单位为米,体重单位为千克): ```json { "heights": [ ["2024-01-15T10:00:00", 1.05] ], "weights": [ ["2024-01-15T10:00:00", 17.5] ] } ```
```bash python3 ./scripts/growth_chart.py "Emma" "06.07.2016" --sex F --data emma_data.json --type all ```
### 与 Withings 集成
结合 `withings-family` skill 自动获取体重数据: ```bash # Get Withings weight data (assuming withings-family skill is installed) python3 ../withings-family/scripts/withings.py emma body > /tmp/withings.json
# Parse and generate charts # (The growth chart script handles Withings JSON format if implemented, otherwise transform it) ```
## 输出
默认情况下,图表和缓存会写入到:
- `<workspace>/who-growth-charts/` - `<workspace>/who-growth-charts/cache/`
其中 `<workspace>` 是包含您的 `skills/` 目录的文件夹(该脚本会自动查找它;如果当前目录看起来像一个工作空间,它也会优先使用当前目录,这能使符号链接的工作空间正常工作)。
您可以通过 `WHO_GROWTH_CHARTS_WORKSPACE=/path/to/workspace` 覆盖工作空间的发现逻辑。