TinyChart

by Alin Coop
5
4
3
2
1
Score: 34/100

Description

Category: Data Visualization

The TinyChart plugin! This exciting new release allows you to create custom, interactive charts within your Obsidian notes. With TinyChart, you can easily visualize data and track progress without leaving the comfort of your note-taking environment. The plugin offers a range of customization options, from chart types and colors to sizes and layouts. Perfect for students, researchers, and anyone who wants to stay organized and on top of their game.

Reviews

No reviews yet.

Stats

50
stars
1,885
downloads
2
forks
734
days
578
days
733
days
2
total PRs
0
open PRs
0
closed PRs
2
merged PRs
6
total issues
6
open issues
0
closed issues
46
commits

Latest Version

2 years ago

Changelog

  • Added option to align value labels
  • Fixed example chart insert command
  • Updated readme with usage information

README file from

Github

TinyChart Plugin

Dead simple ASCII charts for Obsidian.

Supported Charts

  • ✅ Horizontal bar
  • 🗓️ Vertical bar
  • 🗓️ Line

Installation

  1. Within Obsidian, go to "Settings" -> "Community plugins" -> "Browse"
  2. Search for "TinyChart"
  3. Install and enable the plugin

Usage

Configure charts globally using the settings tab:

  • Fill and empty characters
  • Optional prefix and suffix characters
  • Chart length
  • Enable/disable and align value labels
  • Render chart in code block or paragraph format

Open the command palette in Obsidian Ctrl + P and search for TinyChart to insert an example chart block.

Use with dataview

You can also use dataview to dynamically generate charts, that means to create an ascii chart that live updates based on changes in your vault.

The following example takes all notes in sourceFolder, displays a frequency distribution for the yamlField (in this example the publication year):

```dataviewjs
// CONFIG
const sourceFolder = "Data/articles"
const yamlField = "year";
//--------------------------------------------------
const all = dv.pages(`"${sourceFolder}"`)
    .groupBy(p => p.file.frontmatter[yamlField])
    .values // dv-array to regular array
    .map(p => `${p.key},${p.rows.length}`)
    .reverse()
dv.header(3, `Items in "${sourceFolder}" by "${yamlField}"`)
dv.span(["~~~tinychart", ...all, "~~~"].join("\n"))
```

This results in the following, live-updating chart:

Items in "Data/articles" by "year"
2024   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 102
2023   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬              62
2022   ▬▬▬▬▬▬▬▬▬                       32
2021   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬             66
2020   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬               59
2019   ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬                 51
2018   ▬▬▬▬▬▬▬▬▬▬▬▬▬                   45
2017   ▬▬▬▬▬                           20
2016   ▬▬▬▬▬                           17

Support

This plugin is completely free and open source. If you really like it, I'd love to hear about how you're using it.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.