【已解决】借助dataviewjs和echarts来追踪工作时长


遇到的问题

我用dataview追踪每天日记中的工作时长,在每个日记中的yaml区,会有如下参数

lengthOfStudy: 1.2

并且日记文件名称就是当天的日期,我现在想要调用该文件名和yaml区的这个参数区画图,追踪我每天的工作时长变化,在网上找了段代码,但是文件名始终显示不出来,但是工作时长这个参数是可以显示出来的

预期的效果

该图形横轴为文件名称,纵轴为工作时长这个参数,能够正常显示。如果点击某一天的工作时长还能跳转那一天的日记那就更好了

已尝试的解决方案

以下是我目前调用的代码,就是文件名字无法正常显示,说是未定义

```dataviewjs
const pages = dv.pages(`"00-日记/DailyNote"`).sort(p => p.UID).filter((page) => {return page.lengthOfStudy})
const ratingList = []
const fileList = []
pages.forEach((page)=>{
	fileList.push(page.name)
	ratingList.push(page.lengthOfStudy)
})


const option = {
	width: 600,
	height: 400,
		grid: {
	  bottom: 200,
	},
	title: {
          text: '工作时长检测'
        },
	tooltip: {},
	legend: {
	  data: ['时长']
	},
  xAxis: {
    type: 'category',
    data: fileList,
    name: '日期'
  },
  yAxis: {
    type: 'value',
    name:"时长"
  },
  series: [
    {
      data: ratingList,
      type: 'line',
      symbol: 'triangle',
      symbolSize: 20,
      lineStyle: {
        color: '#5470C6',
        width: 4,
        type: 'dashed'
      },
      itemStyle: {
        borderWidth: 3,
        borderColor: '#EE6666',
        color: 'yellow'
      }
    }
  ]
};

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

fileList.push(page.name) 换成 fileList.push(page.file.name)

感谢大佬,已经完美解决了我的问题 :partying_face:,真的很感谢您的帮助!