30 open-source projects similar to epezent/implot, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Implot alternative.
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
This C++ data visualization library is a scientific plotting framework used to create 2D and 3D charts, network graphs, and geographic maps. It operates as a multi-backend graphics library, decoupling high-level plotting logic from low-level rendering engines to support various output backends. The project distinguishes itself with a dual-interface API, providing both a global functional interface for rapid prototyping and an object-oriented interface for precise control. It features a component-based layout engine for managing tiled grids and subplots, alongside a layered plot state that all
bqplot is an interactive data visualization library for IPython and Jupyter notebooks that utilizes a grammar of graphics. It functions as a tool for creating 2D charts and maps with real-time updates and bidirectional communication between the kernel and frontend. The library is distinguished by its ability to act as a geographic data visualization tool, rendering choropleth maps and spatial data via GeoJSON and custom projections. It also serves as a financial charting tool for producing OHLC and candle bar charts, and as an interactive dashboard framework for combining plotting widgets wit
PyQtGraph is a scientific plotting and graphics framework built for PyQt and PySide applications, providing fast, interactive 2D and 3D visualizations with GPU-accelerated rendering. It serves as both a real-time signal monitoring system for streaming time-series data and a toolkit for constructing interactive data dashboards with dockable panels, parameter trees, and custom widgets. The library also includes a node-based visual flowchart tool for building data processing pipelines and a scientific graphics export system that saves plots as PNG, SVG, or CSV and converts items to Matplotlib for
ggplot2 is a data visualization library for R based on a formal grammar of graphics. It provides a declarative plotting framework that allows users to create complex graphics by combining geometric objects, statistical summaries, and coordinate systems. The system is distinguished by a layered approach to composition, where visualizations are built incrementally by stacking independent geometric, statistical, and coordinate layers. It utilizes a hierarchical styling engine to manage non-data elements such as backgrounds, fonts, and margins, and includes a multi-panel faceting tool for splitti
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
MUI X is a collection of advanced React UI components for building data-rich applications, including a data grid, charting library, date and time pickers, scheduler, and tree view. The library is built with accessibility as a core principle, ensuring all components meet WCAG and WAI-ARIA standards for keyboard navigation and screen reader announcements. The components are designed for extensibility and performance. The data grid offers comprehensive data management with sorting, filtering, pagination, column pinning, row grouping, inline editing, and Excel export. The charting library support
bqplot is an interactive data visualization library for Jupyter notebooks. It implements a grammar of graphics model, allowing users to build complex 2D charts by combining marks, scales, and axes. The library distinguishes itself with specialized toolkits for financial charting, such as OHLC candlesticks and time-series analysis, and geographic data visualization, including choropleths and custom map projections for TopoJSON and GeoJSON data. It enables deep interaction through tools like lasso selection, rectangular brushing, and the ability to manually manipulate plot points or line data.
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
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
charts.css is a CSS-driven framework designed to transform semantic HTML into accessible data visualizations without relying on JavaScript. It functions as a charting library that uses standard HTML structures, such as tables and lists, to render graphs while maintaining full compatibility with screen readers. The project distinguishes itself by using CSS variables to map numeric data to visual dimensions and utility classes to control chart types and layouts. It supports a wide range of visual styles, including 3D effects, reflection effects, and customized color palettes integrated via a br
Patchwork is a layout manager for combining multiple ggplot2 graphics into a single complex arrangement. It functions as a multi-plot composition tool and data visualization orchestrator, allowing independent graphics to be arranged into grids and nested layouts using additive and functional syntax. The system differentiates itself through a broadcast-based style application that propagates themes and scales across all subplots to maintain visual consistency. It also features guide-merging reconciliation to identify and collapse redundant legends into a single shared global guide. The framew
billboard.js is a JavaScript charting library built on D3.js that renders interactive data visualizations from a single declarative configuration object. It supports a wide range of chart types including bar, line, pie, scatter, area, spline, step, candlestick, funnel, gauge, heatmap, radar, polar, treemap, bubble, donut, and sparkline charts, and can overlay multiple chart types within a single visualization. The library offers an opt-in Canvas rendering mode for improved performance with large datasets and high-density axis displays, alongside its standard SVG-based rendering. The library d
Plotnine is a data visualization library for Python based on the Grammar of Graphics. It serves as a declarative statistical plotting framework and multi-panel plotting engine, allowing users to create complex charts by mapping data variables to visual properties such as position, color, and size. The project is distinguished by its use of a layered composition model and a statistical transformation engine that performs aggregations and computations before rendering visuals. It features a comprehensive system for multi-panel faceting, which enables the splitting of a single visualization into
Shiny is a framework for building interactive web applications using R code, eliminating the need for HTML, CSS, or JavaScript. At its core, it provides a reactive programming model that automatically tracks data dependencies and re-executes only the parts of an application that depend on changed inputs. The framework handles server-side UI rendering and maintains persistent WebSocket connections between the browser and server for real-time updates without page reloads. The framework distinguishes itself through deep integration with the R ecosystem, including the ability to embed interactive
JimuReport is an open-source reporting and dashboard engine designed to be embedded directly into Spring Boot applications. Its core identity centers on generating data reports and full-screen dashboards from natural language descriptions, eliminating the need for manual design. The platform also provides a conversational query interface that translates plain-language questions into database queries, returning results as tables and charts without requiring SQL knowledge. What distinguishes JimuReport is its integration of AI skills that can be installed with a single command, enabling report
tui.chart is a JavaScript data visualization library and multi-type charting engine used to render interactive statistical charts. It functions as a responsive charting framework and real-time data visualizer, utilizing HTML5 Canvas for high-performance rendering of diverse datasets. The library provides a wide array of visual formats, including linear, circular, grid-based, hierarchical, and statistical chart types. This covers everything from standard bar, line, and pie charts to more specialized visualizations such as radar charts, treemaps, bubble charts, and box plots. The engine includ
AAChartKit is a declarative charting library and data visualization framework for iOS, iPadOS, and macOS. It functions as a multi-type statistical charting engine that renders a variety of plot types, including line, bar, bubble, box plot, and polar charts. The framework utilizes a Core Graphics vector rendering engine to draw visual elements with precise pixel control. It provides a system for interactive data visualization featuring built-in support for animations, zooming, panning, and user interaction events. The library covers broad capabilities for statistical data plotting and custom
ScrollableGraphView is a Swift data visualization library and iOS plotting framework used to render discrete numerical datasets as interactive graphs. It provides a scrollable user interface component that visualizes data points using a coordinate system with configurable layouts and styling. The framework is characterized by its adaptive graph scaling, which automatically adjusts the vertical axis to fit the visible data points as the user scrolls. It supports real-time data rendering, allowing graph views to update instantly as underlying datasets change through animated transitions. The l
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
This project is an immediate-mode graphical user interface library designed for rapid development of tools and debugging interfaces. By generating UI geometry every frame through procedural code, it eliminates the need for persistent state synchronization between application data and the interface. It is primarily intended for integration into existing rendering pipelines, where it produces raw vertex buffers and draw commands that are agnostic to the underlying graphics API. The library distinguishes itself through a highly decoupled architecture that supports complex, dockable, and multi-vi
DearPyGui is a hardware-accelerated Python GUI framework and graphics rendering engine. It operates as an immediate mode user interface system, rendering frames from scratch to ensure high performance and minimal state management for desktop applications. The project functions as a GPU-accelerated plotting library capable of rendering millions of data points with high frame rates. It also serves as a node editor toolkit for constructing interactive graph-based interfaces to manage visual data flows. The framework includes capabilities for custom 2D graphics rendering, interface theme customi
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
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
This is an interactive notebook-based course that teaches machine learning from Python fundamentals through deep learning and natural language processing. It uses real datasets and multiple frameworks within a structured, hands-on curriculum that combines concise explanations with executable code cells, built-in datasets, and embedded exercise checkpoints. Learning progresses through data preparation and exploration, classical machine learning workflows, computer vision with convolutional neural networks, and natural language processing with deep learning, all delivered as a cohesive progressi
This project is an educational resource and a collection of instructional materials for performing data manipulation and statistical analysis using Python. It provides a comprehensive set of guides and code examples for using the Pandas, NumPy, and Matplotlib libraries to analyze structured data. The resource includes a dedicated guide for reshaping, cleaning, and aggregating tabular data and time series via Pandas, alongside a reference for high-performance vectorized operations and linear algebra using NumPy. It also features tutorials for creating publication-quality charts, distribution p
fl_chart is a charting library and data visualization toolkit for Flutter. It provides a collection of customizable widgets used to render datasets as visual graphics across mobile, web, and desktop platforms. The framework supports a variety of chart types, including line, bar, pie, scatter, radar, and candlestick charts. These tools enable the creation of data-driven dashboards and analytical reports, such as those used for tracking financial market trends and price movements.
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