Chartsの使い方を忘れそうなので。
Charts
Obsidanでグラフを描くプラグイン。 実験データを図示するのに便利かな、と思ったんですが、別に実験をしてるわけじゃないので出番無し。
とすると体重管理か。 自分をモルモットにするのか。
dataviewのおさらい
デイリーノートのどこかに「weight:: 77」と書いておくと、それをキーにできます。 プロパティに「weight」という欄を作るのでもいい。 日本語で「体重:: 77」でも構いません。 記録しやすいように記録してください。
dataviewで拾い上げる場合は下記のように書きます。
```dataviewjs const k = ["日付", "体重"] const d = dv.pages('"journals"') .sort(x => x.file.ctime, "desc") .limit(7) .map(x => [x.file.link, x.weight]) dv.table(k, d) ```
この1週間の体重が表形式で表示されます。
デイリーノートをjournalsフォルダに入れているので pages() で絞り込んで、ソートしてから7日分だけ取りだす。
そのあと x.weight
でweightキーをマップにしています。
ここまでは普通のdataviewの使い方。
グラフ作成
このdataview内でChartsの関数が使えます。
```dataviewjs const d = dv.pages('"journals"') .sort(x => x.file.ctime, "desc") .limit(7) .sort(x => x.file.ctime) const File = d.map(x => x.file.name).values const Weight = d.map(x => x.weight).values const Chart = { type: "line", data: { labels: File, datasets: [{ label: "体重", data: Weight, backgroundColor: "orange", borderColor: "brown" }] } } window.renderChart(Chart, this.container) ```
mapを使って values
の配列を作ります。
それをCharts用の変数 Chart
に埋め込む。
そして最後に renderChart() で描画してもらう。
この流れで体重の折れ線グラフが作成されます。
こんな感じですね。 backgroundColor や borderColor でグラフの色合いを変えることができるので、やる気の出る配色にしてください。
Chart.js
このデータ構造は Chart.js に準じているようです。 配色のカスタマイズもこれと同じ。 これを見ると、単純なグラフ作成だけでは終わらない。
まとめ
値抜けがあると表示できないので、毎日の記録を欠かさぬように。