← ClaudeAtlas

obsidian-chartslisted

Build interactive charts in Obsidian notes using the Charts plugin (phibr0/obsidian-charts). Renders Chart.js bar/line/pie/doughnut/radar/polarArea via `chart` codeblocks, can pull data straight from a markdown table by block ID (cross-file supported), and can render from a Dataview query via `window.renderChart`. Use when the user wants to chart, plot, graph, or visualize data sitting in their Obsidian notes — including tables, frontmatter values, Dataview/Dataviewjs results, or hand-written series — or mentions "obsidian charts", "chart codeblock", "renderChart", or "chart from table".
risadams/skills · ★ 2 · Data & Documents · score 65
Install: claude install-skill risadams/skills
# Obsidian Charts Skill Assumes the user already has the **Charts** community plugin (phibr0/obsidian-charts) installed and enabled. ## Decide the data source first Before writing any codeblock, pick the source — it changes the syntax: | Source | Use when | Pattern | |---|---|---| | Inline literal | Small, hand-typed series | `chart` codeblock with `labels:` + `series:` | | Markdown table in same note | Data already lives in a table | `chart` codeblock with `id: <blockId>` | | Markdown table in another note | Shared data table | `chart` codeblock with `id:` + `file:` | | Dataview / Dataviewjs query | Data is computed/aggregated | `dataviewjs` codeblock calling `window.renderChart(...)` | | Frontmatter values | Comparing notes by property | Dataviewjs + `renderChart` (Dataview required) | If the user is unsure, look at the note. A table → use table linking. A query → use renderChart. Loose numbers in prose → inline literal. ## Quick start — inline data ````markdown ```chart type: bar labels: [Mon, Tue, Wed, Thu, Fri] series: - title: Hours focused data: [4, 3, 5, 2, 6] beginAtZero: true width: 80% ``` ```` ## Quick start — from a table in the same note ````markdown | | Q1 | Q2 | Q3 | Q4 | | - | - | - | - | - | | Revenue | 10 | 14 | 12 | 18 | | Cost | 8 | 9 | 11 | 13 | ^revenue ```chart type: bar id: revenue layout: rows beginAtZero: true ``` ```` `layout: rows` reads each table row as a series; `layout: columns` reads each column as a series. Add `select: