30 open-source projects similar to pyqtgraph/pyqtgraph, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pyqtgraph alternative.
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
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
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
PyVista is a scientific 3D plotting framework and visualization library that provides a Python interface for rendering and analyzing spatial datasets using a VTK backend. It functions as a volumetric rendering engine and a 3D mesh analysis tool for computing geometric properties and performing boolean operations on surface and volumetric meshes. The project is distinguished by its ability to operate as a headless 3D renderer, generating high-quality renders and animations on remote servers without a physical display. It also features a lazy-accessor extension mechanism that allows the registr
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
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
Orange3 is a visual data mining platform that provides an interactive canvas for building data analysis workflows without writing code. At its core, it offers a widget-based visual programming environment where users connect configurable components to perform data preprocessing, machine learning model training, statistical evaluation, and interactive visualization. The platform is built on NumPy-backed data tables with domain descriptors that define variable names, types, and roles, and includes a lazy SQL query proxy for working with database tables without loading all data into memory. The
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
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.
chaiNNer is a GPU-accelerated AI image upscaling application that uses a visual node-based interface for constructing image processing pipelines. At its core, it provides a node-based visual programming environment where users connect processing nodes in a directed acyclic graph, with a graph execution scheduler that traverses the pipeline in topological order. The application includes an iterator-based batch processing system that automatically applies the same pipeline to multiple files, and a model format conversion pipeline that transforms neural network models between PyTorch, ONNX, and N
Rete is a framework for building interactive, node-based visual interfaces and dataflow programming environments. It provides a core engine that processes directed graphs, allowing developers to define modular logic where nodes represent operations and connections represent the flow of data or control. By decoupling the graph logic from the user interface, the framework enables the creation of custom visual editors that can be integrated into various frontend component libraries. The project distinguishes itself through a highly extensible, signal-driven architecture that supports complex req
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
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
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
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
Piston is a modular game engine and framework written in Rust for building two and three-dimensional graphical applications. It functions as a cross-platform windowing library and a system for managing input events and window loops across different operating systems. The project provides specialized rendering systems, including a voxel rendering engine for volumetric pixels and a skeletal animation system for deforming meshes via hierarchical bone structures. It also features an immediate mode user interface toolkit for creating responsive on-screen elements and a behavior tree AI framework t
This project is a Python voxel game engine and real-time renderer designed for interacting with block-based 3D environments. It functions as a procedural terrain simulator and a first-person navigator, allowing users to explore and visualize worlds composed of individual cubes. The system enables direct procedural terrain manipulation, providing a mechanism to add or remove blocks in real time to create custom structures. It utilizes a first-person camera system to translate keyboard and mouse inputs into movement and perspective changes within the virtual space. The engine handles 3D space
This project is a Python wrapper for the TA-Lib C library, serving as a financial technical analysis library and quantitative trading tool. It provides a collection of mathematical functions designed to analyze market price movements, identify trading signals, and recognize candlestick patterns within financial data. The library focuses on the computation of trend, momentum, and volume metrics. It includes specialized tools for candlestick pattern recognition to detect recurring price action shapes in both historical and real-time data. The system integrates with NumPy arrays to process cont
MNE-Python is an open-source Python library for processing, visualizing, and analyzing human neurophysiological data, including MEG, EEG, sEEG, ECoG, and NIRS recordings. It provides a comprehensive framework for loading data from over 30 proprietary file formats into a common hierarchical FIF data structure, and represents all time-series data as NumPy arrays for seamless integration with the scientific Python ecosystem. The library is built around object-oriented data containers that encapsulate raw, epoched, evoked, and source data with built-in preprocessing and visualization methods. The
This is an Android folding animation library and Material Design component. It provides a reusable interface element that uses a three-dimensional paper-folding animation to reveal content, allowing users to toggle between a collapsed title and expanded information. The library includes a folding content component with configurable settings for animation duration, background colors, flip counts, and camera depth. It implements these transitions through a custom view that manages the visual state between collapsed and expanded modes. The underlying system utilizes OpenGL ES rendering and matr
CuPy is a CUDA array computing library that implements a NumPy-compatible interface for executing array operations and numerical computing on NVIDIA GPUs. It serves as a GPU-accelerated numerical library and a CUDA-based SciPy implementation, offloading heavy calculations to graphics hardware to increase processing speed for scientific and engineering workloads. The library enables multi-framework tensor exchange, allowing data buffers to be shared between different deep learning frameworks using standardized memory layouts to avoid memory copies. It also supports custom GPU kernel integratio
pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a language bridge, mapping native types, inheritance hierarchies, and lambda functions into compatible Python objects to enable high-performance native code execution. The library includes specialized integration for NumPy arrays, utilizing buffer protocols to bind native C++ data without copying memory. It provides a toolkit for mapping C++ standard library data structures and smart pointers into the Python environment while maintaining cross-language memory management. The p
Iris is a graphics modifier and OpenGL shader engine for Minecraft. It functions as a tool for improving visual fidelity and lighting effects by loading and rendering shader packs through custom pipelines. The project serves as a compatibility layer for modded environments, ensuring that high-fidelity shaders run stably alongside other game modifications without causing software conflicts or crashes. It also acts as a render performance optimizer to maximize GPU utilization and maintain stable frame rates while processing complex visual effects. The system utilizes real-time render intercept
f3d is a fast 3D model viewer and rendering engine designed for visualizing 3D meshes, CAD files, and point clouds. It operates across multiple deployment profiles, functioning as a lightweight desktop application, a scientific data visualizer for volumetric and scalar datasets, a headless rendering engine for automated image generation, and a WebAssembly-based renderer for web applications. The project distinguishes itself through specialized support for Gaussian Splatting scene reconstructions and the ability to visualize complex scientific formats such as VTK, NetCDF, and HDF. It features
Xarray is a Python multidimensional array library and labeled dataset framework. It extends the NumPy data structure by adding labels to arrays, allowing for the organization of complex N-dimensional data using named dimensions and coordinates. The library provides a NetCDF data interface for reading and writing scientific data formats such as NetCDF and Zarr. It enables scientific array computing by maintaining the relationship between data and physical coordinates during mathematical operations. The project covers multidimensional data analysis, geospatial data manipulation, and climate da
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
This project is a cross-platform game engine and development toolkit designed for creating high-performance 2D and 3D games. It serves as a 3D graphics rendering engine and a web-based game framework that allows applications to be deployed across mobile, desktop, and web environments from a single codebase. The engine features a configurable render pipeline that supports both forward and deferred rendering paths. It utilizes a cross-platform graphics abstraction layer and universal shader translation to ensure consistent visual output across different hardware and platforms. The toolkit incl
This project is a cross-platform mapping SDK and hardware-accelerated rendering engine implemented in C++. It provides a shared geospatial core that allows for the embedding of interactive maps into Android, iOS, macOS, Node.js, and Qt applications. The system focuses on high-performance vector tile rendering using OpenGL and GPU primitives to display interactive 3D landscapes and complex geospatial datasets. It transforms compressed protocol buffers into customizable visuals through a style-driven layer pipeline. The capability surface extends to comprehensive location services, including g