30 open-source projects similar to plotly/plotly.js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Plotly.js alternative.
dc.js is a multi-dimensional analysis tool and visualization framework used to build interactive data dashboards. It functions as a charting library that renders diverse SVG visualizations powered by D3 and integrates natively with Crossfilter to enable coordinated filtering across large datasets. The project is distinguished by its linked-view coordination, where selecting a data range or category in one chart simultaneously updates all other connected views. This allows for dynamic data exploration through dimensional chart linking and coordinated brushing, transforming raw datasets into na
nvd3 is a data visualization framework and reusable web graphing library. It provides a collection of interactive charting components built on top of the D3.js library to render complex datasets as graphics within a web browser. The library functions as a wrapper for D3.js, offering predefined chart types and modular templates. This implementation allows for the creation of custom data graphs and web dashboards without requiring the author to write low-level SVG code from scratch. The system utilizes SVG-based vector rendering and attribute-driven styling to generate visualizations. It incor
react-vis is a declarative, component-based React data visualization library. It provides a framework of reusable building blocks for rendering interactive charts and graphs by mapping raw data to visual attributes such as position, color, and size. The system leverages D3 for its scaling and layout logic. The library is distinguished by its ability to handle complex data relationships, including hierarchical data via tree maps and circle packing, as well as multidimensional analysis using parallel axes and radar charts. It also supports network flow mapping to illustrate the volume and direc
ChartGPU is a high-performance visualization library designed to render large-scale datasets and real-time data streams using hardware acceleration. It functions as a component-based tool that integrates into declarative user interfaces, allowing developers to build responsive, themeable charts that maintain smooth interaction even when processing massive amounts of information. The library distinguishes itself through a specialized rendering engine that employs screen-space binning and zoom-aware data resampling to manage dense datasets. It provides advanced interactive capabilities, includi
ECharts is a JavaScript data visualization library and web charting framework used to render interactive 2D and 3D data plots within a web browser. It functions as a visualization engine that transforms raw data into customizable charts and graphs. The project includes a WebGL-based hardware acceleration engine specifically for producing three-dimensional plots and globe visualizations. This allows the library to handle large and complex datasets through GPU-accelerated rendering. The framework supports both canvas-based raster rendering and SVG-based vector rendering. It provides capabiliti
c3 is a charting library for creating reusable data visualizations and interactive charts based on the D3 JavaScript framework. It functions as a declarative visualization framework that generates complex charts through high-level configurations rather than manual SVG manipulation. The project provides a reusable chart component library and a tool for converting raw datasets into scalable vector graphics. These capabilities allow for the implementation of interactive data visualizations and web-based data reporting using standardized templates. The library supports the development of custom
Dash is a Python-based framework for building analytical web applications and reactive data dashboards. It allows developers to connect data science and machine learning code to interactive web interfaces without writing JavaScript, serving as a backend-driven tool for defining layouts and managing state. The framework integrates the Plotly charting engine to render a wide variety of complex charts and financial graphs. It distinguishes itself through a reactive callback system that links user input components to data visualizations, enabling the creation of business intelligence dashboards a
Makie.jl is a high-performance Julia data visualization library and hardware-accelerated plotting engine used to create interactive 2D and 3D visualizations. It functions as a reactive visualization framework where plots update automatically via observables and compute graphs, and as a vector graphics generator for high-resolution academic output. The system is distinguished by its backend-agnostic rendering pipeline, which supports OpenGL, WebGL, and ray-traced scenes. It employs a grammar-of-graphics approach to map variables to aesthetic attributes and utilizes a hierarchical scene graph t
ApexCharts is a comprehensive JavaScript charting library designed for building interactive, responsive, and data-driven visualizations within web applications. It functions as a versatile data visualization framework that supports a wide range of chart types, including categorical, statistical, and financial plots, enabling developers to construct complex dashboards and real-time monitoring interfaces. The library distinguishes itself through a deep commitment to accessibility and high-performance interactivity. It provides built-in support for keyboard navigation, screen readers, and high-c
pyecharts is a Python visualization library and wrapper for the Echarts JavaScript engine. It translates Python data and configurations into JSON specifications to generate interactive web-based charts and graphs. The library provides specialized capabilities for geographic data mapping using a comprehensive library of map assets to visualize spatial information. It also includes utilities to capture rasterized snapshots of rendered web visualizations for export as static image files. The tool supports rendering interactive plots directly within data science notebook environments and exporti
ScottPlot is a cross-platform, high-performance charting library for .NET that renders interactive plots across desktop and web GUI frameworks including Windows Forms, WPF, MAUI, Avalonia, Blazor, and WinUI. It provides an optimized rendering engine capable of displaying millions of data points with interactive pan, zoom, and live data streaming, while also supporting image export to formats like PNG and SVG for file output, cloud applications, and notebooks. The library distinguishes itself through a comprehensive set of chart types including scatter, line, bar, pie, heatmap, financial, rada
Nivo is a responsive charting framework and a React data visualization library that uses D3 for its underlying math logic. It serves as both a collection of interactive chart components for web applications and a server-side visualization engine for generating static data chart images. The project distinguishes itself by providing a containerized chart rendering API, allowing the visualization engine to be deployed via Docker to serve rendered graphics as images or files through a programmatic interface. It also features a motion engine for animated data transitions, ensuring smooth visual sh
MPAndroidChart is an Android charting library and data visualization framework that provides a set of reusable view components for rendering statistical data. It enables the display of numerical datasets through various chart types, including line, bar, pie, radar, bubble, and candlestick charts. The library focuses on an interactive graphing workflow, allowing users to explore complex data sets through scaling, panning, and animations. It includes specific support for financial charting to track market trends and price movements, as well as tools for building mobile dashboards.
tui.chart is a statistical charting engine and data visualization library designed to render interactive charts and graphs for complex numerical datasets. It functions as a responsive charting framework capable of producing various statistical representations, including line, bar, scatter, bubble, and treemap charts. The library distinguishes itself through an interactive visualization system that supports synchronized tooltips across multiple charts, range-based zooming, and data series selection. It includes a layout engine that automatically adjusts chart dimensions and animations based on
Charts is a mobile data visualization library designed for rendering interactive graphical representations of complex datasets. It provides a declarative configuration interface that maps data structures to visual components, supporting a variety of chart types including line, bar, pie, scatter, and radar plots. The library distinguishes itself through a hardware-accelerated drawing layer that ensures high-performance rendering across mobile platforms. It features a gesture-driven transformation engine that enables users to pan, zoom, and scale views, alongside an interpolated animation syste
echarts-for-react is a React chart library and data visualization component that serves as a wrapper for the Apache ECharts library. It allows for the rendering of complex data visuals and graphs within a component-based architecture using declarative configurations. The library provides a mechanism to access the underlying visualization instance, enabling low-level operations such as image exporting and manual resizing. It also supports binding custom functions to visualization events to trigger application logic based on user interactions. The toolset covers general chart behavior configur
Chartkick is a Ruby on Rails visualization library and JavaScript charting wrapper that provides a high-level interface for integrating interactive charts into web applications. It functions as a multi-engine charting adapter, wrapping various JavaScript charting libraries to provide a consistent API for rendering data visualizations. The project is distinguished by its engine abstraction, which allows users to switch between different JavaScript charting libraries without modifying the underlying data sources. It also supports asynchronous data visualization, fetching chart data from remote
Rickshaw is a JavaScript library for building interactive, SVG-based time series charts in the browser. It provides a framework for rendering line, area, bar, and scatterplot visualizations from data series, with built-in support for axes, legends, color palettes, and interactive controls. The library distinguishes itself through a plugin-based architecture that allows renderers to be swapped at runtime, such as switching between stacked area and line chart views while preserving chart state. It includes an event-driven interaction layer for hover details, click behaviors, and drag-based rang
Epoch is a CSS-stylable charting engine and visualization library designed for real-time and statistical data. It functions as a timeseries charting tool that renders historical and live data using a hybrid of SVG and HTML5 Canvas graphics to maintain performance during frequent updates. The library distinguishes itself through a unified CSS querying system that applies styles to both vector and raster plot elements. This allows for visual theme resolution via CSS classes and the ability to customize the appearance of specific data series using stylesheets. The toolset covers a broad range o
Library for animated data visualizations and data stories.
Victory is a React data visualization library and composable visualization toolkit used to build interactive charts and graphs. It functions as an SVG charting framework that renders scalable data visualizations designed to maintain consistency across different web browsers and operating systems. The project provides a collection of reusable UI primitives that combine to form complex interactive data layouts. This component-based approach allows for the construction of sophisticated graphs by composing modular visualization elements within React applications.
Altair is a declarative data visualization library for Python based on the Vega-Lite grammar. It allows users to create statistical visualizations by mapping data fields to visual properties rather than writing imperative drawing code. The library focuses on interactive charting through a system of linked selections and filters that update multiple visualizations based on user input. It renders charts as JSON and HTML for display in web browsers and interactive notebooks. The project covers statistical data analysis and interactive data exploration, providing capabilities to export visuals a
go-echarts is a Go library and wrapper for Apache ECharts used to create interactive data visualizations. It functions as a generator that produces the configurations and HTML files necessary to render complex datasets as visual charts and graphs in a web browser. The library includes specialized tools for geographic data visualization, allowing spatial information and distributed datasets to be mapped using coordinates and regional boundaries. The project supports exporting visualizations as standalone HTML files for static use or serving them through an HTTP server for web-based dashboardi
This project is a cross-platform mobile graphing library designed for rendering high-performance animated line charts and data visualizations. It functions as a canvas-based data visualization system and interactive charting component for mobile applications. The library focuses on animated data visualization, using interpolation to create smooth visual transitions between different data sets. It utilizes a GPU-accelerated graphics engine to maintain high frame rates and fluid transitions during data updates. The capability surface includes interaction systems for tracking pan gestures and d
Bokeh is a Python data visualization library and interactive plotting framework used to create high-performance graphics and data dashboards that render in web browsers. It serves as a tool for generating standalone HTML documents, embedded components for digital notebooks, and full-stack web applications powered by a Python backend. The project distinguishes itself through its ability to handle large or streaming datasets while maintaining smooth interactivity. It enables linked brushing across multiple views, allowing data selected in one plot to automatically highlight corresponding data i
Apache ECharts is a JavaScript data visualization library used for rendering interactive charts and complex data visualizations in web browsers. It functions as a canvas-based charting engine and a statistical data visualization suite that transforms datasets into visual representations. The framework provides specialized capabilities for three-dimensional data visualization, including the generation of 3D plots and globe visualizations. It also serves as a web-based geographic mapping tool for overlaying heatmaps, routes, and data distributions onto interactive maps. The library covers a br
Visual Insights is an automated exploratory data analysis platform and causal inference tool designed to discover patterns and cause-and-effect relationships within datasets. It functions as an interactive data visualization library using a grammar-of-graphics approach to generate multi-dimensional charts and dashboards. The project distinguishes itself through a natural language interface that translates plain-text questions into data answers and visualizations via a language model. It provides a specialized framework for causal discovery and inference, allowing users to identify variable li
uPlot is a high-performance canvas time series charting library designed to render millions of data points with high frame rates. It functions as a high-frequency data visualizer and a real-time data stream plotter, utilizing the HTML5 Canvas API to maintain responsiveness when plotting large temporal datasets. The project distinguishes itself as a plugin-based visualization framework that allows for custom renderers to create specialized visuals such as heatmaps and box-and-whisker plots. It also serves as an interactive financial charting tool, specifically supporting OHLC charts, bars, and
Vega-Lite is a high-level declarative language for specifying interactive, multi-view visualizations. It compiles a concise JSON specification into a full Vega visualization, automatically inferring scales, axes, and legends from encoding declarations. The grammar-of-graphics encoding maps data fields to visual channels such as position, color, size, and shape, while a multi-view composition grammar enables layered, faceted, concatenated, and repeated layouts. Reactive parameter binding links named parameters to input widgets, selections, and expressions for dynamic updates. The project suppo
Flot is an interactive charting library for jQuery that renders line, bar, pie, and time-series plots with zooming and panning. It provides interactive plots for engineering and scientific data with customizable axes, scales, and series styles, and supports real-time data updates. The library is built as a jQuery plugin with a canvas-based rendering pipeline and a plugin extension system that allows third-party code to add new chart types, interactions, and data transformations. The library distinguishes itself through a broad range of specialized chart types, including candlestick, bubble, r