obsidian-tracker 插件教程
Tracker 插件使用指南
Tracker 是 Obsidian 中用于数据可视化和指标追踪的插件,可以将笔记中的数据转化为折线图、柱状图、进度条等可视化图表。
插件特点
| 特性 | 说明 |
|---|---|
| 📈 多图表类型 | 支持折线图、柱状图、面积图、饼图等 |
| 🎯 习惯追踪 | 可视化追踪每日习惯和目标 |
| 💪 进度条 | 直观展示完成进度 |
| 🔄 数据绑定 | 从笔记 YAML 或 Dataview 自动提取数据 |
| 🎨 高度可定制 | 颜色、标签、轴配置等均可自定义 |
安装插件
- 打开「设置」→「第三方插件」→ 关闭「安全模式」
- 点击「浏览」→ 搜索「obsidian-tracker」→ 安装并启用
基础语法
简单折线图
tracker
type: line
date: 2026-06-01
days: 30
data:
- path: Journal/Daily
filter: 正则表达式匹配
value:实际示例
tracker
type: line
yAxisLabel: 小时
xAxisLabel: 日期
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: number
content:
- query: '\d+'
mode: sum图表类型
折线图
适合追踪趋势变化:
tracker
```tracker
type: line
title: 每日阅读时长
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: number
query: '\d+(?=h)'
lineColor: #4CAF50
showLegend: true
```柱状图
适合比较不同类别的数据:
tracker
```tracker
type: bar
title: 每周完成任务数
dateRange: 2026-W23
folder: Journal/Daily
dataType: task
xAxisLabel: 星期
yAxisLabel: 任务数
barColor: #2196F3
```面积图
适合展示累积趋势:
tracker
```tracker
type: area
title: 累计阅读页数
dateRange: 2026-01-01 to 2026-06-30
folder: Book Notes
dataType: number
query: '\d+(?=页)'
fillColor: rgba(76, 175, 80, 0.3)
lineColor: #4CAF50
```进度条
适合追踪目标完成度:
tracker
```tracker
type: progress
title: 月度目标进度
value: 75
max: 100
showLabel: true
color: green
```饼图
适合展示占比分布:
tracker
```tracker
type: pie
title: 本周时间分配
data:
- 深度工作: 20
- 会议: 8
- 邮件: 5
- 休息: 27
```数据来源
从 YAML 提取数据
在日记中记录数据:
markdown
---
date: 2026-06-09
reading: 2h
exercise: 1h
work: 6h
sleep: 7h
---
# 2026-06-09 日记Tracker 查询配置:
tracker
```tracker
type: line
title: 每日睡眠时长
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: frontmatter
key: sleep
lineColor: #9C27B0
```从文本提取数据
使用正则表达式匹配:
tracker
```tracker
type: line
title: 每日步数
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: text
query: '(\d+)(?= 步)'
lineColor: #FF5722
```从任务提取数据
tracker
```tracker
type: bar
title: 每日完成任务数
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: task-done
barColor: #4CAF50
```习惯追踪示例
每日习惯追踪
tracker
```tracker
type: panel
title: 习惯追踪
dateRange: 2026-06-01 to 2026-06-30
folders:
- Journal/Daily
dateFormat: YYYY-MM-DD
items:
- name: 运动
path: Journal/Daily
dataType: checkbox
value: 1
- name: 阅读
path: Journal/Daily
dataType: checkbox
value: 1
- name: 冥想
path: Journal/Daily
dataType: checkbox
value: 1
```进度仪表盘
tracker
```tracker
type: gallery
title: 本周目标
dateRange: 2026-W24
items:
- type: progress
title: 阅读
value: 4
max: 7
- type: progress
title: 运动
value: 3
max: 5
- type: progress
title: 冥想
value: 6
max: 7
```使用场景
健康数据追踪
markdown
---
date: 2026-06-09
weight: 70.5
sleep-hours: 7.5
steps: 8500
mood: 4
---
# 2026-06-09 健康日志财务追踪
markdown
---
date: 2026-06-09
income: 500
expense: 200
savings: 300
---
# 2026-06-09 财务日志学习追踪
markdown
---
date: 2026-06-09
pages-read: 30
words-written: 500
courses-completed: 1
---配置选项
| 选项 | 说明 | 示例 |
|---|---|---|
title | 图表标题 | title: 每日步数 |
dateRange | 日期范围 | dateRange: 2026-06-01 to 2026-06-30 |
folder | 数据来源文件夹 | folder: Journal/Daily |
type | 图表类型 | type: line |
lineColor | 线条颜色 | lineColor: #4CAF50 |
showLegend | 显示图例 | showLegend: true |
xAxisLabel | X 轴标签 | xAxisLabel: 日期 |
yAxisLabel | Y 轴标签 | yAxisLabel: 小时 |
常见问题
Q: 图表不显示?
- 确认插件已启用
- 检查代码块格式是否正确(```tracker)
- 确认数据来源文件存在且包含相应数据
Q: 数据不准确?
- 检查正则表达式是否正确匹配
- 确认日期格式一致
- 检查 YAML 键名是否匹配
Q: 如何自定义样式?
在 Tracker 设置中或通过代码块参数配置颜色、字体等样式。
Tracker 高级使用案例
本文介绍 Tracker 插件的进阶用法,涵盖复杂查询、Dataview 联动、自定义渲染和自动化数据收集。
复杂数据查询
多数据源聚合
tracker
```tracker
type: line
title: 综合健康指数
dateRange: 2026-06-01 to 2026-06-30
items:
- path: Journal/Daily
dataType: frontmatter
key: sleep
name: 睡眠
color: #9C27B0
- path: Journal/Daily
dataType: frontmatter
key: exercise
name: 运动
color: #4CAF50
- path: Journal/Daily
dataType: frontmatter
key: mood
name: 情绪
color: #FF9800
yAxisLabel: 评分
showLegend: true
```条件筛选
tracker
```tracker
type: bar
title: 按项目统计任务完成情况
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: task
filter: '#项目'
stack: true
barColor: ["#4CAF50", "#2196F3", "#FF9800"]
```移动平均
tracker
```tracker
type: line
title: 7 天移动平均
dateRange: 2026-06-01 to 2026-06-30
folder: Journal/Daily
dataType: frontmatter
key: weight
lineColor: #2196F3
smoothing: 7
showRawData: false
```Dataview 联动
Dataview 作为数据源
dataview
TABLE file.link AS 项目,
length(filter(file.tasks, t => t.completed)) AS 已完成,
length(filter(file.tasks, t => !t.completed)) AS 待办
FROM "04 - Projects"
WHERE file.mtime >= date(today) - dur(30 days)
```转换为 Tracker 图表:
tracker
```tracker
type: bar
title: 项目任务对比
folder: 04 - Projects
dataType: task
stack: true
dateRange: 2026-06-01 to 2026-06-30
barColor: ["#4CAF50", "#FF5722"]
```高级可视化
甘特图
tracker
```tracker
type: bar
title: 项目时间线
dateRange: 2026-06-01 to 2026-08-31
data:
- name: 项目 A
start: 2026-06-01
end: 2026-06-30
color: #4CAF50
- name: 项目 B
start: 2026-06-15
end: 2026-07-31
color: #2196F3
- name: 项目 C
start: 2026-07-15
end: 2026-08-31
color: #FF9800
showLegend: true
```热力图
tracker
```tracker
type: heatmap
title: 每日活动热力图
dateRange: 2026-01-01 to 2026-12-31
folder: Journal/Daily
dataType: frontmatter
key: tasks-completed
color: yellow-green
showLegend: true
```自动化数据收集
QuickAdd 宏自动录入
javascript
// quickadd-macro: habit-log
module.exports = {
entry: async ({ app }) => {
const file = app.workspace.getActiveFile();
if (file) {
const date = new Date().toISOString().slice(0, 10);
const template = `
habit-exercise: ${await ask('运动时长(小时)?')}
habit-reading: ${await ask('阅读时长(小时)?')}
habit-mood: ${await ask('情绪评分(1-5)?')}
`;
await app.vault.append(file, template);
new Notice('已记录今日习惯数据');
}
}
};趋势分析
dataview
```dataview
TABLE
avg(rows.sleep) AS 平均睡眠,
min(rows.sleep) AS 最低睡眠,
max(rows.sleep) AS 最高睡眠,
round(stdev(rows.sleep), 1) AS 睡眠波动
FROM "Journal/Daily"
WHERE file.day >= date(today) - dur(30 days)
FLATTEN file.frontmatter.sleep AS sleep
GROUP BY ""
```常见问题
Q: 如何追踪跨文件夹数据?
在 folder 选项中使用多个路径:
folders:
- Journal/Daily
- Health Logs
- FitnessQ: 图表数据更新延迟?
Tracker 默认缓存数据,可在设置中调整刷新频率,或使用 Ctrl + R 手动刷新。