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>)