awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to d3/d3

Open-source alternatives to D3

30 open-source projects similar to d3/d3, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best D3 alternative.

  • mozilla/metrics-graphicsmozilla avatar

    mozilla/metrics-graphics

    7,403View on GitHub↗

    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

    TypeScript
    View on GitHub↗7,403
  • observablehq/plotobservablehq avatar

    observablehq/plot

    5,305View on GitHub↗

    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

    HTMLchartsd3data-visualization
    View on GitHub↗5,305
  • metricsgraphics/metrics-graphicsmetricsgraphics avatar

    metricsgraphics/metrics-graphics

    7,403View on GitHub↗

    This project is an SVG data visualization library and charting engine designed to render quantitative metrics and time-series data within a web browser. It provides a framework for creating concise visual representations of numerical data sets, such as line charts, scatterplots, and histograms. The library utilizes a component-based layout framework to organize visual elements into hierarchical structures with automated spacing and positioning. It includes a coordinate-space mapping tool that translates raw data values into pixel coordinates using linear scales and axis transformations. The

    TypeScript
    View on GitHub↗7,403

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • longbridge/gpui-componentlongbridge avatar

    longbridge/gpui-component

    11,793View on GitHub↗

    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

    Rustdesktop-applicationgpuirust
    View on GitHub↗11,793
  • jacomyal/sigma.jsjacomyal avatar

    jacomyal/sigma.js

    12,069View on GitHub↗

    sigma.js is a JavaScript graph visualization library and WebGL network renderer designed for drawing large-scale network graphs in web browsers. It functions as a high-performance engine capable of rendering network structures containing thousands of nodes and edges interactively. The library provides a customizable graph engine that allows for the creation of specialized visualizations using low-level graphics primitives and custom drawing layers. It supports the rendering of diverse node shapes, such as images or piecharts, and enables the integration of graph visualizations as overlays on

    TypeScriptdata-visualizationgraphgraph-drawing
    View on GitHub↗12,069
  • frappe/chartsfrappe avatar

    frappe/charts

    15,088View on GitHub↗

    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

    JavaScriptchartgraphhacktoberfest
    View on GitHub↗15,088
  • tidyverse/ggplot2tidyverse avatar

    tidyverse/ggplot2

    6,948View on GitHub↗

    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

    R
    View on GitHub↗6,948
  • apache/echartsapache avatar

    apache/echarts

    66,629View on GitHub↗

    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

    TypeScriptapachecanvascharting-library
    View on GitHub↗66,629
  • bqplot/bqplotbqplot avatar

    bqplot/bqplot

    3,693View on GitHub↗

    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

    TypeScriptipythonjupytervisualizations
    View on GitHub↗3,693
  • keplergl/kepler.glkeplergl avatar

    keplergl/kepler.gl

    11,871View on GitHub↗

    Kepler.gl is a web-based geospatial visualization framework designed for rendering large-scale location datasets. It functions as a modular React mapping component that enables developers to embed interactive, high-performance geographic visualizations into web applications, serving as a comprehensive engine for building browser-based GIS dashboards. The library distinguishes itself through a highly extensible architecture that centers on centralized state management. By utilizing a predictable state-driven model, it allows for the programmatic control of map layers, filters, and viewport set

    TypeScriptdata-visualizationgeospatialkepler
    View on GitHub↗11,871
  • panda3d/panda3dpanda3d avatar

    panda3d/panda3d

    5,150View on GitHub↗

    Panda3D is a cross-platform game engine and 3D graphics rendering system developed for Python and C++. It functions as a comprehensive framework for building interactive 3D applications, providing a real-time physics simulator and a specialized 3D asset pipeline tool. The engine distinguishes itself by combining a high-performance C++ core with interoperable Python language bindings. It utilizes a scene graph architecture to organize 3D objects and provides a pipeline-based asset conversion system to optimize models and textures for runtime loading. Its capability surface includes low-level

    C++c-plus-pluscross-platformgame-development
    View on GitHub↗5,150
  • kangax/fabric.jskangax avatar

    kangax/fabric.js

    31,236View on GitHub↗

    Fabric.js is an HTML5 canvas library and interactive vector graphics engine. It provides an object-oriented model for creating, manipulating, and animating 2D shapes and interactive graphics on a web page. The project functions as an SVG to canvas parser, translating SVG data into interactive canvas objects and exporting canvas states back into SVG format. It also serves as a canvas image processing tool for applying filters, gradients, patterns, and brush strokes to visual elements. The library covers programmatic vector manipulation, including the ability to scale, rotate, skew, and group

    TypeScript
    View on GitHub↗31,236
  • pixijs/pixi.jspixijs avatar

    pixijs/pixi.js

    47,430View on GitHub↗

    PixiJS is a hardware-accelerated 2D rendering engine and HTML5 canvas library. It functions as a web-based graphics engine that utilizes WebGL to draw interactive digital content, shapes, text, and images in the browser. The engine provides a specialized pipeline for high-performance 2D graphics, featuring a scene-graph hierarchy for organizing visual objects and a system for dynamic texture management. It includes capabilities for applying visual effects through masks, filters, and blend modes. The project covers broad functional areas including digital asset loading, user input processing

    TypeScript
    View on GitHub↗47,430
  • uber/react-visuber avatar

    uber/react-vis

    8,781View on GitHub↗

    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

    JavaScriptchartcharting-librarydata-visualization
    View on GitHub↗8,781
  • bloomberg/bqplotbloomberg avatar

    bloomberg/bqplot

    3,693View on GitHub↗

    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.

    TypeScript
    View on GitHub↗3,693
  • animate-css/animate.cssanimate-css avatar

    animate-css/animate.css

    82,609View on GitHub↗

    Animate.css is a library of pre-defined, cross-browser CSS keyframe animations that can be applied to elements through declarative class toggling. It functions as a comprehensive motion framework, providing a standardized set of effects that ensure consistent visual transitions without requiring custom keyframe definitions. The library is built with a focus on accessibility, automatically respecting system-level reduced motion preferences to ensure that animations are disabled or simplified for users sensitive to screen movement. The framework distinguishes itself through a modular build proc

    CSSanimationcsscss-animations
    View on GitHub↗82,609
  • cytoscape/cytoscape.jscytoscape avatar

    cytoscape/cytoscape.js

    10,857View on GitHub↗

    Cytoscape.js is a JavaScript library designed for rendering interactive node-link diagrams and analyzing complex network structures directly within a web browser. It functions as a comprehensive framework for building responsive graph interfaces, providing the tools necessary to visualize relational datasets and manage hierarchical data models. The library distinguishes itself through a modular architecture that supports custom layout algorithms and rendering styles, allowing for the integration of physics-based engines to organize complex network structures automatically. It utilizes an even

    JavaScriptanalysiscytoscapejsgraph-theory
    View on GitHub↗10,857
  • chartjs/chart.jschartjs avatar

    chartjs/Chart.js

    67,526View on GitHub↗

    Chart.js is a declarative data visualization framework that renders interactive, responsive charts directly onto an HTML5 canvas element. It functions as a configuration-driven engine, transforming structured datasets into complex graphical representations by merging user-defined settings with global defaults. The library utilizes a high-performance rendering pipeline that executes drawing commands during each animation frame to maintain smooth visual feedback. The project distinguishes itself through a modular, extensible architecture that allows developers to register custom scales, control

    JavaScriptcanvaschartgraph
    View on GitHub↗67,526
  • paperjs/paper.jspaperjs avatar

    paperjs/paper.js

    15,054View on GitHub↗

    Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove

    JavaScript
    View on GitHub↗15,054
  • antvis/g2antvis avatar

    antvis/G2

    12,524View on GitHub↗

    G2 is a declarative data visualization engine that constructs complex charts and graphical representations by mapping raw data to visual elements through a systematic grammar of graphics. It functions as a modular framework for building custom analytical visualizations, allowing users to define visual encodings and coordinate systems independently of the underlying data. The library distinguishes itself through a multi-backend rendering pipeline that supports Canvas, SVG, and WebGL, ensuring consistent graphical performance across different environments. Its architecture relies on a plugin-ba

    TypeScriptanimationcanvaschart
    View on GitHub↗12,524
  • allthingssmitty/jquery-tips-everyone-should-knowAllThingsSmitty avatar

    AllThingsSmitty/jquery-tips-everyone-should-know

    4,315View on GitHub↗

    This project serves as a comprehensive development guide for the jQuery library, focusing on best practices and techniques for efficient web frontend development. It provides a structured collection of patterns for manipulating the document object model, managing dynamic content, and streamlining asynchronous data requests. The guide emphasizes performance and maintainability by detailing strategies for optimizing element selection, implementing event delegation, and managing element state. It covers methods for resolving library conflicts, standardizing layout dimensions, and controlling bro

    awesomeawesome-listjquery
    View on GitHub↗4,315
  • jquery/jqueryjquery avatar

    jquery/jquery

    59,825View on GitHub↗

    jQuery is a library designed for document object model manipulation and cross-browser interaction. It provides a unified interface for selecting, traversing, and modifying web page elements, ensuring consistent behavior across different rendering engines by abstracting away underlying browser inconsistencies. The library distinguishes itself through a dedicated CSS selector engine that parses strings into executable functions for element location. It incorporates a state machine for managing asynchronous operations and a feature-detection strategy that probes the environment to execute code p

    JavaScriptjquery
    View on GitHub↗59,825
  • anomalyco/opentuianomalyco avatar

    anomalyco/opentui

    12,131View on GitHub↗

    Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit

    TypeScript
    View on GitHub↗12,131
  • justineo/vue-echartsJustineo avatar

    Justineo/vue-echarts

    10,720View on GitHub↗

    vue-echarts is a declarative charting wrapper and Vue.js component for the Apache ECharts library. It functions as a data visualization library that maps configurations and data updates to a rendering engine, enabling the embedding of interactive graphs and charts as reusable web components. The project provides a system for managing visual consistency through theme configuration and context-based injection. It allows for deep customization of the visualization interface, including the use of scoped slots to render custom HTML markup within tooltips and the construction of complex graphic ele

    TypeScript
    View on GitHub↗10,720
  • makieorg/makie.jlMakieOrg avatar

    MakieOrg/Makie.jl

    2,778View on GitHub↗

    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

    Juliagpugraphicsjulia
    View on GitHub↗2,778
  • hadley/ggplot2hadley avatar

    hadley/ggplot2

    6,948View on GitHub↗

    ggplot2 is an R data visualization library and statistical graphics engine. It implements a grammar of graphics that functions as a declarative plotting framework, allowing users to specify what a plot should contain rather than how to draw it. The system builds visualizations by mapping data variables to visual aesthetics through a structured set of layering rules. This approach enables the composition of complex graphics by stacking independent components, such as geometric objects and scales, on top of a shared coordinate system. The framework supports scientific plotting and exploratory

    R
    View on GitHub↗6,948
  • gka/chroma.jsgka avatar

    gka/chroma.js

    10,569View on GitHub↗

    chroma.js is a JavaScript library for color manipulation, space conversion, and the generation of data visualization color scales. It provides a system for transforming colors between formats including RGB, HSL, Lab, LCH, OKLab, and CMYK, alongside tools for parsing and modifying colors across these spaces. The library specializes in data-driven color mapping, using algorithms such as Cubehelix, Bezier interpolation, and ColorBrewer palettes to translate numeric data into visual gradients. It includes a perceptual color difference calculator that utilizes CIE 2000 Delta E and Euclidean metric

    JavaScript
    View on GitHub↗10,569
  • has2k1/plotninehas2k1 avatar

    has2k1/plotnine

    4,598View on GitHub↗

    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

    Pythondata-analysisgrammargraphics
    View on GitHub↗4,598
  • ecomfe/echartsecomfe avatar

    ecomfe/echarts

    66,608View on GitHub↗

    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

    TypeScript
    View on GitHub↗66,608
  • david-desmaisons/vue.draggableDavid-Desmaisons avatar

    David-Desmaisons/Vue.Draggable

    20,609View on GitHub↗

    Vue.Draggable is a user interface component for Vue that enables drag-and-drop list reordering. It functions as a declarative wrapper for the Sortable.js library, providing a specialized list element that synchronizes the visual order of elements with an underlying data model. The project supports complex interactive layouts, including the ability to transfer items between multiple containers and clone items during the drag process. It provides mechanisms to restrict drag initiation to specific handle elements and allows for the embedding of static content within the draggable area. The fram

    JavaScript
    View on GitHub↗20,609