Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Math Plotter

Sharbel MarshiSharbel Marshi249 downloads

Create math graphs from a GUI. Insert plots via forms without writing plot code.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Insert mathematical graphs into Obsidian notes through a form. You type normal math (sin^2(x), x^2+y^2), not TikZ, PGFPlots, or Octave syntax. The plugin stores a small JSON block in your note and renders it as SVG in Reading View.


Sample output

These SVGs were exported from Math Plotter:

2D sine wave Function with point Fourier-style wave
2D function 2D function + labeled point Oscillating 2D plot
3D curved surface PDE heat surface PDE colored surface
3D surface (heat colormap) Heat-equation style surface PDE solution surface
PDE surface variant PDE wireframe
Another 3D PDE plot Wireframe 3D surface

Graphs render with a transparent background so they sit cleanly on your note.


What you can plot

Type What you enter
2D function y = f(x) — e.g. sin^2(x)
3D surface z = f(x, y) — e.g. x^2+y^2
ODE An explicit solution you already have — e.g. exp(-2*x) for y' = -2y
PDE An explicit solution surface — e.g. exp(-2*t)*sin(x)*sin(y) with parameter t
Parametric 2D / 3D x(t), y(t), optional z(t) — full modal only
Data (x, y) pairs
Points Labeled points on top of any plot (Points tab in the modal)

Math Plotter does not symbolically solve ODEs or PDEs. for advanced ODEs or PDEs solving enable and download octave cli through the settings tab.


How to insert a graph

Ribbon - click the line-chart icon (Insert Function Plot).

Command palette - run Insert Function Plot.

Empty code block - type a fenced block with nothing inside:


An inline builder appears. Use More Options to open the full modal with tabs for Equation, Ranges, Style, Size, and Points.


Rendered graph toolbar

Once a graph is drawn, hover the toolbar:

Edit · Refresh · − · 100% · + · Export · Export PNG

  • Edit opens the full graph builder (including the Size tab).
  • Refresh redraws the fast SVG preview.
  • − / % / + change on-screen zoom only (no recompile).
  • Export downloads SVG; Export PNG downloads a PNG.

Math Plotter does not read or write the system clipboard.


Expression syntax

Write calculator-style math in function fields:

x^2 + y^2
sin^2(x)+cos^2(y)
exp(-2*t)*sin(x)*sin(y)
sqrt(x^2+y^2)
ln(x)          (log(x) works too)
pi / π
2sin(x)

The plugin saves your expression as-is in the function field. Compilation to PGFPlots or Octave happens at render time only.


Style and sizing

2D / ODE — theme-aware line color by default (auto), optional grid, custom line width.

3D / PDE 3D — colored heat mesh by default; switch to wireframe or solid in the Style tab.

LaTeX size — preset or custom width/height; affects export quality and axis labels.

Display scale — 0.5×–2.5× zoom in Obsidian only; adjustable from the toolbar without recompiling.


After installing: enable Settings → Community plugins → Math Plotter, then reload Obsidian.

Settings

Settings → Math Plotter

Setting Notes
Output format SVG in Reading View; PNG available on export
LuaLaTeX fallback Off by default; retries failed TikZJax renders if TeX is installed
Octave engine Off by default; external numerical sampler for advanced use
Prefer Octave for 3D / ODE·PDE numeric Only relevant when Octave is enabled
Debug mode Shows generated TikZ in error details

Per-graph size is set in the builder (Size tab) or the inline builder preset — not in plugin settings.


Rendering (under the hood)

Normal graphs use a built-in JavaScript sampler and draw SVG directly. That is the default path — fast, no WASM compile on every edit.

TikZJax (bundled WebAssembly) compiles generated PGFPlots when needed — for example when fast preview is unavailable for a graph type, an error panel offers High quality render.

Octave (optional) samples numerically via octave-cli and feeds CSV data to PGFPlots. Not required for everyday plotting.

LuaLaTeX (optional) is a fallback when TikZJax cannot compile a particular plot.


Requirements

  • Obsidian Desktop (required)
  • Node.js (build from source only)

Optional: GNU Octave CLI (octave-cli), LuaLaTeX + Poppler for fallbacks.


Troubleshooting

Graph too small — open Edit → Size, pick Large or Full width, or use the toolbar zoom.

Surface clipped — widen the z range. For z = x^2 on a wide x range, a narrow z range will cut most of the surface off.

TikZJax failed — enable LuaLaTeX fallback in Advanced settings if you have MacTeX or TeX Live.

Octave issues — set the path to octave-cli (e.g. /opt/homebrew/bin/octave-cli on Apple Silicon), not the GUI app. Use Test Octave in settings.

Invalid block — use Edit Graph or Reset Block on the error panel.


Release process: RELEASING.md


License

MIT — Copyright © Sharbel Marshi

HealthExcellent
ReviewSatisfactory
About
Create interactive 2D and 3D function, parametric, PDE/ODE solution, and data plots via a visual GUI or quick inline graph block without hand-writing TikZ or LaTeX. Render instant transparent SVG previews with a built-in JS sampler and export higher-quality TikZJax or LuaLaTeX outputs on demand, with labeled points, meshes, and annotation support.
MathVisualizationLaTeX
Details
Current version
0.1.4
Last updated
Last month
Created
Last month
Updates
6 releases
Downloads
249
Compatible with
Obsidian 1.5.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Sharbel MarshiSharbel Marshisharbelmarshi
GitHubsharbelmarshi
  1. Community
  2. Plugins
  3. Math
  4. Math Plotter

Related plugins

Quick Latex

Simplify and speed up LaTeX math typing.

Calctex

Calculate LaTeX formulas.

Extended MathJax

Enable additional MathJax packages and adds a global preamble for MathJax.

Latex Suite

Make typesetting LaTeX math as fast as handwriting through snippets, text expansion, and editor enhancements.

Typst Mate

Render math expressions with Typst instead of MathJax.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.