30 open-source projects similar to hadley/ggplot2, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Ggplot2 alternative.
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
Altair is a declarative data visualization library for Python that generates Vega-Lite specifications. It functions as a tool for mapping data to graphical marks using a high-level syntax, allowing users to describe the desired visual outcome instead of writing imperative drawing commands. The framework enables the creation of interactive charts and graphics, including linked views and filtered displays that respond to user input in real time. It supports the design of multi-view dashboards by combining visualizations into layered or faceted layouts. The library provides capabilities for sta
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
This is a grammar of graphics visualization library used to build charts by mapping tabular data to visual marks. It functions as an SVG data visualization tool and an exploratory data analysis API, allowing users to render complex visualizations and geographic maps. The library features a GeoJSON map renderer that projects spherical coordinates into two-dimensional pixel space and an Apache Arrow visualization interface for high-efficiency data processing. Its capability surface covers data transformation through binning and grouping, visual encoding via automatic scale inference and color
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
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
FriendsDontLetFriends is a scientific data visualization guide and framework designed to help users create accurate plots while avoiding common data representation mistakes. It provides a collection of scripts and guidelines for selecting distribution plots, color scales, and layouts that accurately represent complex experimental data. The project distinguishes itself through specialized toolkits for revealing hidden patterns in large datasets. It includes systems for heatmap optimization via dimension reordering and outlier management, as well as spatial layout algorithms to improve the inte
Facets is a set of interactive software tools for the statistical analysis, distribution visualization, and multidimensional exploration of machine learning datasets. It provides a visual interface for identifying outliers and missing values in numeric and string data, specifically designed for auditing dataset quality and identifying skews between training and validation sets. The system uses multidimensional facet-based visualization and interactive bucketing to map individual data points across multiple feature axes. It employs synchronized view filtering and animated dimension transitions
ggpy is a Python library for statistical data visualization based on the grammar of graphics. It functions as a declarative framework for building complex charts by mapping data variables to visual properties through a structured coordinate system. The library enables the construction of composite visualizations by layering geometric shapes and statistical summaries. It utilizes a system of continuous and discrete scales to translate raw data into visual attributes and supports facet-based plotting to segment a single visualization into a grid of subplots based on variable categories. Visual
Vega is a reactive visualization engine that translates structured specifications into interactive, browser-based graphical representations. It functions as a declarative grammar for data visualization, allowing users to define complex charts and maps through a JSON-based configuration format rather than imperative code. The system operates on a dataflow-based reactive graph that automatically propagates updates through the visualization whenever input data or user interactions change. By integrating a modular transformation pipeline, the engine handles data filtering, sorting, and aggregatio
Data Formulator is an automated data analysis and visualization platform that uses large language models to interpret natural language instructions for data preparation and reporting. It functions as an interactive workbench where users can clean, filter, and aggregate datasets while simultaneously generating visual representations. By combining conversational interfaces with automated transformation tools, the system enables users to explore data patterns and refine schemas without manual coding. The platform distinguishes itself through an agentic architecture that translates natural langua
This project is a declarative visualization library and geospatial framework designed for rendering large-scale data sets within web browsers. It functions as a high-performance graphics engine that leverages hardware acceleration to display complex 2D and 3D visual layers, enabling the visualization of millions of data points through a structured, component-based syntax. The framework distinguishes itself through its ability to synchronize custom data visualizations with third-party mapping platforms. By managing camera states and coordinate systems, it allows developers to overlay high-perf
Seaborn is a Python library designed for statistical data visualization. It functions as a high-level interface built on the Matplotlib ecosystem, providing specialized routines to explore and communicate complex patterns within datasets. The framework enables users to generate informative graphics through automated statistical aggregation, multi-plot faceting, and integrated regression modeling. The library distinguishes itself through a declarative approach to data mapping, which translates raw inputs into visual properties like color, size, and position. It includes a robust statistical tr
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
gpui-component is a native desktop UI kit and component library built for the GPUI framework. It provides a collection of reusable user interface elements, a desktop layout engine for organizing application space, and a specialized data visualization library for rendering quantitative information. The project is distinguished by its high-performance rendering systems, including a virtualized data grid and list system designed to handle large datasets with low memory overhead. It also features a comprehensive data visualization toolkit for rendering charts, axes, and coordinate scales using li
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.
This project is a collection of interactive Python notebooks and educational resources designed for mastering data science, machine learning, and numerical computing. It provides a series of practical guides and tutorials covering deep learning, big data processing, and statistical analysis. The repository features specialized instructional suites for implementing classical machine learning algorithms, building deep learning model architectures, and managing AWS cloud infrastructure. It includes dedicated notebooks for data visualization and numerical computing exercises. The project covers
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
VisiData is a terminal-based interactive data analysis tool and browser designed for exploring, filtering, and sorting large tabular datasets. It functions as a structured data inspector that loads and flattens complex formats like JSON, XML, and PCAP into interactive sheets, as well as a terminal file manager for navigating directories and performing staged filesystem operations. The project distinguishes itself by rendering data visualizations, such as scatter plots and histograms, directly in the terminal using Unicode Braille characters. It provides a Python-based data wrangling environme
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
metrics-graphics is a data visualization library and declarative graphics framework designed to create principled data graphics and layouts. It functions as a statistical graphics engine that maps raw data to geometric shapes and structured objects to render complex, data-driven layouts. The toolkit specializes in rendering time-series data through line charts and scatterplots using a consistent layout system. It also provides capabilities for statistical distribution mapping, including the creation of rug plots to represent one-dimensional data density. The system covers a broad surface of
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.
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
r4ds is a data science curriculum and educational resource designed for mastering the R programming language. It provides a structured learning path for the end-to-end process of importing, tidying, transforming, and visualizing data. The project emphasizes a reproducible data science guide and a comprehensive curriculum for data wrangling. It includes specialized tutorials on the grammar of graphics for layered data visualization and technical publications created with Quarto that blend executable code with narrative prose. The material covers a broad range of analytical capabilities, inclu
Pygwalker is a library that transforms tabular data into interactive, drag-and-drop interfaces for exploratory analysis and visualization. It functions as a grammar-based framework that translates user interactions into declarative chart definitions, allowing for the creation of dynamic data exploration environments directly within notebooks or embedded web applications. The system distinguishes itself by offloading heavy analytical computations to backend kernels, which maintains responsiveness when visualizing large datasets. It supports the serialization of visual states into portable conf
This project is a client-side data visualization framework and SVG charting library used to render responsive, interactive charts in a web browser. It functions as a lightweight utility for generating scalable vector graphics and data annotations without external dependencies. The library enables the creation of custom SVG charts with adjustable colors and animations to meet specific design requirements. It supports dynamic data updates and the addition of markers, regions, and tooltips to provide context to specific data points. The system covers broad capability areas including responsive
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
Unovis is a modular SVG and Canvas data visualization library used to build interactive charts, maps, and network graphs. It provides a framework-agnostic set of primitives for creating data dashboards and specialized visualizations. The library is distinguished by its dedicated toolkits for different visualization domains, including an XY charting library for coordinated plots, a network graph framework for relational data, and a geospatial visualization toolkit for TopoJSON-based mapping. Its capability surface covers a wide range of data representations, including linear, area, and bar ch
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
Matplotlib is a Python data visualization library and 2D plotting engine used to generate publication-quality figures and charts from numerical data. It serves as a numerical graphics library and data visualization toolkit for mapping data to visual elements. The library provides capabilities for producing static, animated, and interactive visualizations. This includes creating high-resolution figures for professional documents, generating moving graphics to illustrate data evolution over time, and building dynamic plots for interactive data exploration. The toolkit supports scientific plott