Obsidian Charts Plugin 使用dataview 创建图表
1 背景知识
如果此插件需要和 Obsidian DataView Plugin 插件结合使用,建议通过API传输数据。API 接口函数如下所示:
window.renderChart(data, element);
参数 | 说明 |
---|---|
data | 为图表需要传入的数据,与 Obsidian Charts Plugin 格式相同。 |
element | 获取数据的来源,可以指定当前文档,或者其他文档。 |
2 从当前文档获取信息
当前文档内容如下:
test:: First Test
test2:: Second Test
mark:: 6
list:: 7
使用 Obsidian DataView Plugin 将数据传输给 Obsidian Charts Plugin 生成图表。
参数 | 说明 |
---|---|
dv.current | 获取当前文档的全部内容。 |
data.test | 获取当前文档中 test 键值。 |
data.mark | 获取当前文档中 mark 键值。 |
关于其他参数请见 Obsidian Charts Plugin 高级配置 。
Evaluation Error: TypeError: window.renderChart is not a function at eval (eval at <anonymous> (plugin:dataview), <anonymous>:22:8) at DataviewInlineApi.eval (plugin:dataview:19027:16) at evalInContext (plugin:dataview:19028:7) at asyncEvalInContext (plugin:dataview:19038:32) at DataviewJSRenderer.render (plugin:dataview:19064:19) at DataviewJSRenderer.onload (plugin:dataview:18606:14) at DataviewJSRenderer.load (app://obsidian.md/app.js:1:1214378) at DataviewApi.executeJs (plugin:dataview:19607:18) at DataviewCompiler.eval (plugin:digitalgarden:10760:23) at Generator.next (<anonymous>)
3 从多个文档中获取信息
参数 | 说明 |
---|---|
dv.pages('#obsidian ') |
从整个 Obsidian 文档库中获取标签为 #obsidian 的文档。 |
pages.map(p => p.file.name).values | 获取所有文件名。 |
pages.map(p => p.mark).values | 获取文件中所有的 mark 的键值。 |
这里可以看出,标签为 #obsidian
的文档中有一个文档包含 mark
键值。它的值为6。
Evaluation Error: TypeError: window.renderChart is not a function at eval (eval at <anonymous> (plugin:dataview), <anonymous>:23:8) at DataviewInlineApi.eval (plugin:dataview:19027:16) at evalInContext (plugin:dataview:19028:7) at asyncEvalInContext (plugin:dataview:19038:32) at DataviewJSRenderer.render (plugin:dataview:19064:19) at DataviewJSRenderer.onload (plugin:dataview:18606:14) at DataviewJSRenderer.load (app://obsidian.md/app.js:1:1214378) at DataviewApi.executeJs (plugin:dataview:19607:18) at DataviewCompiler.eval (plugin:digitalgarden:10760:23) at Generator.next (<anonymous>)