# plotters-rs/plotters

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/plotters-rs-plotters).**

4,502 stars · 314 forks · Rust · mit

## Links

- GitHub: https://github.com/plotters-rs/plotters
- Homepage: https://plotters-rs.github.io/home/
- awesome-repositories: https://awesome-repositories.com/repository/plotters-rs-plotters.md

## Topics

`data-plotting` `graphing` `plot` `plotting` `rust` `rust-crate` `science` `visualization` `webassembly`

## Description

Plotters is a data visualization library for the Rust programming language used to create 2D and 3D charts, plots, and mathematical visualizations. It functions as a multi-backend rendering engine and coordinate mapping framework that translates raw data values into pixel coordinates through customizable chart contexts.

The library distinguishes itself through its ability to export graphics to multiple formats, including SVG, BitMap, and HTML5 canvas. It provides specific capabilities for 3D graphics plotting, featuring adjustable camera viewpoints and projection matrices to manage spatial data rendering.

The toolset covers a broad range of visualization areas, including standard 2D chart generation with histograms and candlesticks, complex layout composition using nested drawing areas, and the rendering of mathematical structures like fractal sets. It also supports real-time rendering for animations and live data streams, as well as integration for rendering interactive plots within Jupyter Notebook environments.

## Tags

### Scientific & Mathematical Computing

- [Rust Data Visualization Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/rust-data-visualization-libraries.md) — Provides a comprehensive toolkit for creating 2D and 3D charts and mathematical visualizations using the Rust language.

### Data & Databases

- [Visualization Coordinate Mapping](https://awesome-repositories.com/f/data-databases/data-mapping/coordinate-system-mapping/visualization-coordinate-mapping.md) — Implements a mapping system that translates raw data values to visual coordinates for chart rendering.
- [Real-Time Plot Updates](https://awesome-repositories.com/f/data-databases/real-time-data-streaming/real-time-lighting-visualizers/real-time-plot-updates.md) — Updates visual elements and animations in real time to reflect live data streams or changing mathematical states.

### Graphics & Multimedia

- [3D Chart Generation](https://awesome-repositories.com/f/graphics-multimedia/3d-chart-generation.md) — Provides capabilities for establishing 3D plotting environments to render spatial coordinates within a 3D volume. ([source](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html))
- [Data-to-Pixel Coordinate Transforms](https://awesome-repositories.com/f/graphics-multimedia/coordinate-transformations/data-to-pixel-coordinate-transforms.md) — Translates abstract data values into physical pixel coordinates using configurable chart contexts and projection matrices.
- [2D Plot Constructors](https://awesome-repositories.com/f/graphics-multimedia/data-plotting-workflows/2d-plot-constructors.md) — Provides programmatic construction of 2D plots with configurable axes, data series, and labels. ([source](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html))
- [Matrix Transformation Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/matrix-transformation-engines.md) — Uses four-by-four homogeneous matrices to manage the perspective, rotation, and scaling of 3D spatial data.
- [Backend-Agnostic Rendering Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/backend-agnostic-rendering-pipelines.md) — Implements a trait-based rendering system that allows plot logic to target SVG, BitMap, or HTML5 canvas backends.
- [3D Graphics Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines.md) — Provides a 3D graphics pipeline for rendering spatial data with adjustable camera viewpoints and projection matrices.
- [Multi-Backend Renderers](https://awesome-repositories.com/f/graphics-multimedia/multi-backend-renderers.md) — Ships a rendering engine capable of exporting graphics to multiple backends, including SVG, Bitmap, and HTML5 canvas.
- [Numerical Data Plotting](https://awesome-repositories.com/f/graphics-multimedia/numerical-data-plotting.md) — Generates 2D graphs, histograms, and candlesticks to visualize numerical and technical scientific data.
- [Multi-Format Image Exports](https://awesome-repositories.com/f/graphics-multimedia/svg-image-exports/multi-format-image-exports.md) — Enables exporting graphics to multiple backends including SVG, BitMap, and HTML5 canvas. ([source](https://cdn.jsdelivr.net/gh/plotters-rs/plotters@master/README.md))
- [Multi-Chart Type Libraries](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/composite-visualizations/mixed-chart-types/multi-chart-type-libraries.md) — Supports a broad catalog of standard chart types, including lines, points, candlesticks, and histograms. ([source](https://plotters-rs.github.io/rustdoc/plotters/))
- [Mathematical Function Plotting](https://awesome-repositories.com/f/graphics-multimedia/2d-spatial-rendering/2d-primitive-rendering/mathematical-function-plotting.md) — Generates mathematical function graphs and 2D charts for native or web-based applications. ([source](https://cdn.jsdelivr.net/gh/plotters-rs/plotters@master/README.md))
- [3D Viewpoint Control](https://awesome-repositories.com/f/graphics-multimedia/3d-viewpoint-control.md) — Implements camera perspective management for 3D plots using adjustable projection matrices. ([source](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html))
- [Custom Graphics Generation](https://awesome-repositories.com/f/graphics-multimedia/custom-graphics-generation.md) — Supports building complex visual layouts and custom geometric primitives for export to SVG, BitMap, and HTML5 canvas.
- [Real-Time Plot Rendering](https://awesome-repositories.com/f/graphics-multimedia/real-time-plot-rendering.md) — Supports live updates of visuals to reflect animations or real-time data streams. ([source](https://plotters-rs.github.io/rustdoc/plotters/))

### System Administration & Monitoring

- [Line Plots](https://awesome-repositories.com/f/system-administration-monitoring/numerical-data-visualizers/plotting-components/line-plots.md) — Renders various data series, including lines and points, by iterating over collections of coordinate elements. ([source](https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html))

### User Interface & Experience

- [Chart Axis Configurations](https://awesome-repositories.com/f/user-interface-experience/chart-axis-configurations.md) — Provides tools for defining chart contexts with custom captions and label areas to map data to the drawing area. ([source](https://cdn.jsdelivr.net/gh/plotters-rs/plotters@master/README.md))
- [Chart Layout Composition](https://awesome-repositories.com/f/user-interface-experience/chart-layout-composition.md) — Provides a recursive drawing area hierarchy to divide canvases into sub-areas or grids for complex multi-figure layouts. ([source](https://plotters-rs.github.io/rustdoc/plotters/))
- [Canvas Layout Hierarchies](https://awesome-repositories.com/f/user-interface-experience/component-hierarchies/widget-drawing-hierarchies/canvas-layout-hierarchies.md) — Organizes the root canvas into a recursive tree of sub-areas and grids to compose complex multi-figure layouts.

### Software Engineering & Architecture

- [Trait-Based Plot Elements](https://awesome-repositories.com/f/software-engineering-architecture/trait-based-plot-elements.md) — Defines visual primitives and data series as interchangeable components that implement a common rendering interface.
