obsidian echarts小白使用指南

obsidian中怎么使用图表呢?有3种方式:chart, echarts, mermaid flowchart。

但要论功能强大的话,我觉得非echarts莫属。但echarts对小白用户来说,使用起来着实有些复杂,所以这里介绍一些个人使用经验。

安装

为什么要提安装呢?插件市场搜索安装不就行了。

确实是,但鉴于国内网络环境,echarts安装包12M多,我装了多次都以失败而告终。

最后,直接点开github网站,使用代理下载,才安装完成。

另外,echarts插件依赖dataview插件,得先安装dataview。

使用

首先,新建dataview代码块,比如

```dataviewjs
var option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [150, 230, 224, 218, 135, 147, 260],
      type: 'line'
    }
  ]
};
app.plugins.plugins['obsidian-echarts'].render(option, this.container)
```

效果

这里的option参数就是官方示例中的参数,先不管这些参数的含义,只需要把data这里的数据改成你自己的即可。

好像很复杂的样子,不懂js怎么办?

不用担心,可以使用这个网站 https://www.lddgo.net/base/class?classID=6去生成数据。

打开网站,选择你需要的图例,然后下面这里填写数据和配置即可

然后点击生成,生成完成后,点击自定义,打开自定义对话框

然后,复制里面的代码,赋值给option变量即可。

这里还有一些其他的示例可供参考:https://juejin.cn/post/7078834647005822983

当然,如果想个性化和支持更多功能,还推荐认真看看官方的教程:https://echarts.apache.org/handbook/zh/how-to/chart-types/bar/basic-bar

进阶

那么,我只能手动输入这些数据吗?我能不能从obsidian中读取数据,然后生成图形呢?

当然可以了,具体使用例子可参考:obsidian-echarts/example at main · cumany/obsidian-echarts · GitHubBlue-topaz-example/77-Example/◾ Echarts at main · PKM-er/Blue-topaz-example · GitHub

比如, 文件夹文件数量矩阵图

const pages =  dv.pages()
           .groupBy(p => p.file.folder)
           .sort(p=> p.rows.length)
           .map(p => ({name: p.key || "根目录", value: p.rows.length}))
           .array().reverse();
const colorList = ['#f36c6c', '#e6cf4e', '#20d180', '#0093ff'];
const datas = pages

const option = {
	title: {
          text: '文件夹文件数量矩阵图'
        },
    series: {
        type: 'treemap',
        itemStyle: {
            color: 'rgba(109, 40, 40, 1)',
            borderWidth: 2,
            borderColor: 'rgba(255, 255, 0, 0)',
        },
        data: pages
        
    },
    type: 'basicTreemap',
};

app.plugins.plugins['obsidian-echarts'].render(option, this.container)

这段代码,首先通过dataview获取所有文件夹的名称和文件数量,然后把数据传给option对象的data字段,然后调用obsidian-echarts插件渲染图形。

最后,附上echarts插件源码:GitHub - cumany/obsidian-echarts: Render echarts in obsidian,[Apache ECharts](https://echarts.apache.org/en/index.html) An Open Source JavaScript Visualization Library

2 个赞

放一个我之前写过的代码,其实echarts就是读取数据,然后展示成图表,上限很高,很适合搞一些装B的页面

PKMer_每日字数的热力图

2 个赞

:+1: 也不仅仅是装逼,有些经常操作数据的部门或专业估计经常用到。