Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Visualization
  3. plot

plot

BSD-3-ClauseGov0.16.0

A Go library for building and drawing plots and visualizations with a flexible API and multiple backends.

GitHubGitHub
2.9k stars203 forks0 contributors

What is plot?

Gonum Plot is a Go library for building and drawing plots and visualizations, providing an API for creating various types of charts like lines, scatter plots, and box plots. It is the official fork of plotinum and part of the Gonum ecosystem, designed for numerical computing and data analysis in Go. The library supports multiple vector graphics backends and allows for custom plotter development.

Target Audience

Go developers working on scientific computing, data analysis, or any project requiring data visualization and plotting capabilities. It is particularly useful for those in the Gonum ecosystem or transitioning from other languages' plotting libraries.

Value Proposition

Developers choose Gonum Plot for its native Go integration, extensible API for custom plotters, and support for multiple graphics backends, offering a flexible and performant solution for visualization within the Go ecosystem without relying on external tools.

Overview

A repository for plotting and visualizing data

Use Cases

Best For

  • Creating scientific plots like scatter plots and error bars in Go applications
  • Building custom visualization tools with extensible plotting primitives
  • Integrating plotting capabilities into data analysis pipelines using Gonum
  • Developing cross-platform visualizations with multiple vector graphics backends
  • Transitioning from plotinum or other plotting libraries to a Go-native solution
  • Educational or research projects requiring reproducible plots in Go

Not Ideal For

  • Projects requiring interactive, web-based visualizations with real-time updates
  • Rapid prototyping where high-level, declarative charting APIs are preferred for quick iteration
  • Applications with extensive 3D plotting needs, as the library primarily focuses on 2D plots

Pros & Cons

Pros

Flexible and Extensible API

Provides drawing primitives and allows custom plotter creation, enabling tailored visualizations beyond standard types, as highlighted in the wiki tutorial for custom plotters.

Multiple Output Backends

Supports various vector graphics formats like EPS, SVG, and PDF through the vg package, facilitating cross-platform use without locking into a single output method.

Gonum Ecosystem Integration

Seamlessly works with other Gonum libraries for numerical computing, making it ideal for data analysis pipelines in Go, as part of the broader scientific computing suite.

Community-Driven Extensions

The wiki links to community-contributed plotters, fostering an extensible ecosystem that enhances functionality beyond the core plotter package.

Cons

API Instability

The README explicitly states the new API is still in flux and may change, leading to potential breaking changes and maintenance overhead for users.

Limited High-Level Abstractions

The plotutil package is new and not well tested, meaning common plot types might require more verbose code or be less reliable compared to mature libraries.

No Native Interactive Support

Focuses on static vector graphics; lacks built-in features for interactivity or animations, which limits its use in dynamic or web-based applications.

Frequently Asked Questions

Quick Stats

Stars2,947
Forks203
Contributors0
Open Issues86
Last commit2 days ago
CreatedSince 2013

Tags

#scientific-computing#graphs#plotting#data-visualization#data-analysis#go#charts#gonum#vector-graphics

Built With

G
Go

Included in

Go169.1kData Visualization4.3k
Auto-fetched 1 day ago

Related Projects

gonumgonum

Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Stars8,359
Forks577
Last commit9 days ago
go-echarsgo-echars

🎨 The adorable charts library for Golang.

Stars7,601
Forks592
Last commit2 days ago
statsstats

A well tested and comprehensive Golang statistics library package with no dependencies.

Stars3,003
Forks172
Last commit11 days ago
goslgosl

Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.

Stars1,872
Forks148
Last commit3 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub