Alternatives to NVD3 logo

Alternatives to NVD3

Highcharts, D3.js, Plotly.js, Google Charts, and C3.js are the most popular alternatives and competitors to NVD3.
82
0

What is NVD3 and what are its top alternatives?

NVD3 is a widely-used JavaScript library that allows developers to create interactive data visualizations on the web easily. It is based on D3.js and simplifies the process of building complex charts like bar, line, scatter, and pie charts. NVD3 also provides support for responsive designs, tooltips, and animations. However, NVD3 is no longer actively maintained, which may lead to compatibility issues with newer frameworks and browsers.

  1. D3.js: D3.js is the core library that NVD3 is built upon, offering greater flexibility and customization options for creating data visualizations. Pros: Highly flexible and powerful, great for custom visualizations. Cons: Steeper learning curve compared to NVD3.
  2. Chart.js: Chart.js is a lightweight JavaScript charting library that offers a simple and intuitive way to create a variety of chart types. Pros: Easy to get started, good for simple charts. Cons: Limited customization options compared to NVD3.
  3. Highcharts: Highcharts is a popular charting library that provides a wide range of interactive and responsive charts. Pros: Rich set of features, good for complex visualizations. Cons: Paid license required for commercial use in some cases.
  4. Plotly: Plotly is a versatile charting library that offers open-source and enterprise versions for creating interactive data visualizations. Pros: Easy to use, great for collaborative data analysis. Cons: Limited features in the open-source version.
  5. Google Charts: Google Charts is a free charting library that offers a variety of visualization options and is easy to integrate with Google Sheets data. Pros: Simple setup, good for basic visualizations. Cons: Limited customization compared to NVD3.
  6. ApexCharts: ApexCharts is a modern JavaScript charting library that offers a wide range of customizable charts with a focus on performance. Pros: Fast rendering, extensive documentation. Cons: Limited chart types compared to NVD3.
  7. amCharts: amCharts is a feature-rich JavaScript charting library that includes interactive maps and stock charts in addition to standard chart types. Pros: Versatile chart types, good for advanced visualizations. Cons: Paid license required for commercial use in some cases.
  8. Vega: Vega is a visualization grammar and framework for creating custom interactive visualizations. Pros: Highly customizable, great for complex visualizations. Cons: Requires more coding compared to NVD3.
  9. Morris.js: Morris.js is a lightweight and simple charting library that offers responsive and animated charts for web applications. Pros: Easy setup, good for basic visualizations. Cons: Limited chart types compared to NVD3.
  10. FusionCharts: FusionCharts is a comprehensive charting library that provides a wide range of interactive and customizable charts for web and mobile applications. Pros: Extensive chart types, good for complex visualizations. Cons: Paid license required for commercial use.

Top Alternatives to NVD3

  • Highcharts
    Highcharts

    Highcharts currently supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. ...

  • D3.js
    D3.js

    It is a JavaScript library for manipulating documents based on data. Emphasises on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework. ...

  • Plotly.js
    Plotly.js

    It is a standalone Javascript data visualization library, and it also powers the Python and R modules named plotly in those respective ecosystems (referred to as Plotly.py and Plotly.R). It can be used to produce dozens of chart types and visualizations, including statistical charts, 3D graphs, scientific charts, SVG and tile maps, financial charts and more. ...

  • Google Charts
    Google Charts

    It is an interactive Web service that creates graphical charts from user-supplied information. The user supplies data and a formatting specification expressed in JavaScript embedded in a Web page; in response the service sends an image of the chart. ...

  • C3.js
    C3.js

    c3 is a D3-based reusable chart library that enables deeper integration of charts into web applications. ...

  • jQuery
    jQuery

    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. ...

  • React
    React

    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...

  • AngularJS
    AngularJS

    AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. ...

NVD3 alternatives & related posts

Highcharts logo

Highcharts

1.3K
1.1K
92
A charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web...
1.3K
1.1K
+ 1
92
PROS OF HIGHCHARTS
  • 34
    Low learning curve and powerful
  • 17
    Multiple chart types such as pie, bar, line and others
  • 13
    Responsive charts
  • 9
    Handles everything you throw at it
  • 8
    Extremely easy-to-parse documentation
  • 5
    Built-in export chart as-is to image file
  • 5
    Easy to customize color scheme and palettes
  • 1
    Export on server side, can be used in email
CONS OF HIGHCHARTS
  • 9
    Expensive

related Highcharts posts

Here is my stack on #Visualization. @FusionCharts and Highcharts are easy to use but only free for non-commercial. Chart.js and Plotly are two lovely tools for commercial use under the MIT license. And D3.js would be my last choice only if a complex customized plot is needed.

See more
D3.js logo

D3.js

1.9K
1.7K
653
A JavaScript visualization library for HTML and SVG
1.9K
1.7K
+ 1
653
PROS OF D3.JS
  • 195
    Beautiful visualizations
  • 103
    Svg
  • 92
    Data-driven
  • 81
    Large set of examples
  • 61
    Data-driven documents
  • 24
    Visualization components
  • 20
    Transitions
  • 18
    Dynamic properties
  • 16
    Plugins
  • 11
    Transformation
  • 7
    Makes data interactive
  • 4
    Open Source
  • 4
    Enter and Exit
  • 4
    Components
  • 3
    Exhaustive
  • 3
    Backed by the new york times
  • 2
    Easy and beautiful
  • 1
    Highly customizable
  • 1
    Awesome Community Support
  • 1
    Simple elegance
  • 1
    Templates, force template
  • 1
    Angular 4
CONS OF D3.JS
  • 11
    Beginners cant understand at all
  • 6
    Complex syntax

related D3.js posts

Tim Abbott
Shared insights
on
Plotly.jsPlotly.jsD3.jsD3.js
at

We use Plotly (just their open source stuff) for Zulip's user-facing and admin-facing statistics graphs because it's a reasonably well-designed JavaScript graphing library.

If you've tried using D3.js, it's a pretty poor developer experience, and that translates to spending a bunch of time getting the graphs one wants even for things that are conceptually pretty basic. Plotly isn't amazing (it's decent), but it's way better than than D3 unless you have very specialized needs.

See more
Amit Garg
Shared insights
on
D3.jsD3.jsApexChartsApexChartsReactReact

Hi,

I am looking at integrating a charting library in my React frontend that allows me to create appealing and interactive charts. I have basic familiarity with ApexCharts with React but have also read about D3.js charts and it seems a much more involved integration. Can someone please share their experience across the two libraries on the following dimensions:

  1. Amount of work needed for integration
  2. Amount of work or ease for creating new charts in either of the libraries.

Regards

Amit

See more
Plotly.js logo

Plotly.js

358
690
69
A high-level, declarative charting library
358
690
+ 1
69
PROS OF PLOTLY.JS
  • 16
    Bindings to popular languages like Python, Node, R, etc
  • 10
    Integrated zoom and filter-out tools in charts and maps
  • 9
    Great support for complex and multiple axes
  • 8
    Powerful out-of-the-box featureset
  • 6
    Beautiful visualizations
  • 4
    Active user base
  • 4
    Impressive support for webgl 3D charts
  • 3
    Charts are easy to share with a cloud account
  • 3
    Webgl chart types are extremely performant
  • 2
    Interactive charts
  • 2
    Easy to use online editor for creating plotly.js charts
  • 2
    Publication quality image export
CONS OF PLOTLY.JS
  • 18
    Terrible document

related Plotly.js posts

Tim Abbott
Shared insights
on
Plotly.jsPlotly.jsD3.jsD3.js
at

We use Plotly (just their open source stuff) for Zulip's user-facing and admin-facing statistics graphs because it's a reasonably well-designed JavaScript graphing library.

If you've tried using D3.js, it's a pretty poor developer experience, and that translates to spending a bunch of time getting the graphs one wants even for things that are conceptually pretty basic. Plotly isn't amazing (it's decent), but it's way better than than D3 unless you have very specialized needs.

See more

Here is my stack on #Visualization. @FusionCharts and Highcharts are easy to use but only free for non-commercial. Chart.js and Plotly are two lovely tools for commercial use under the MIT license. And D3.js would be my last choice only if a complex customized plot is needed.

See more
Google Charts logo

Google Charts

122
213
0
A Web service that creates graphical charts
122
213
+ 1
0
PROS OF GOOGLE CHARTS
    Be the first to leave a pro
    CONS OF GOOGLE CHARTS
      Be the first to leave a con

      related Google Charts posts

      C3.js logo

      C3.js

      276
      163
      4
      A D3-based reusable chart library
      276
      163
      + 1
      4
      PROS OF C3.JS
      • 2
        Easy to use
      • 2
        Reusable charts
      CONS OF C3.JS
      • 1
        Dependent on D3.js which is not lightweight

      related C3.js posts

      jQuery logo

      jQuery

      191.8K
      68.2K
      6.6K
      The Write Less, Do More, JavaScript Library.
      191.8K
      68.2K
      + 1
      6.6K
      PROS OF JQUERY
      • 1.3K
        Cross-browser
      • 957
        Dom manipulation
      • 809
        Power
      • 660
        Open source
      • 610
        Plugins
      • 459
        Easy
      • 395
        Popular
      • 350
        Feature-rich
      • 281
        Html5
      • 227
        Light weight
      • 93
        Simple
      • 84
        Great community
      • 79
        CSS3 Compliant
      • 69
        Mobile friendly
      • 67
        Fast
      • 43
        Intuitive
      • 42
        Swiss Army knife for webdev
      • 35
        Huge Community
      • 11
        Easy to learn
      • 4
        Clean code
      • 3
        Because of Ajax request :)
      • 2
        Powerful
      • 2
        Nice
      • 2
        Just awesome
      • 2
        Used everywhere
      • 1
        Improves productivity
      • 1
        Javascript
      • 1
        Easy Setup
      • 1
        Open Source, Simple, Easy Setup
      • 1
        It Just Works
      • 1
        Industry acceptance
      • 1
        Allows great manipulation of HTML and CSS
      • 1
        Widely Used
      • 1
        I love jQuery
      CONS OF JQUERY
      • 6
        Large size
      • 5
        Sometimes inconsistent API
      • 5
        Encourages DOM as primary data source
      • 2
        Live events is overly complex feature

      related jQuery posts

      Kir Shatrov
      Engineering Lead at Shopify · | 22 upvotes · 2.4M views

      The client-side stack of Shopify Admin has been a long journey. It started with HTML templates, jQuery and Prototype. We moved to Batman.js, our in-house Single-Page-Application framework (SPA), in 2013. Then, we re-evaluated our approach and moved back to statically rendered HTML and vanilla JavaScript. As the front-end ecosystem matured, we felt that it was time to rethink our approach again. Last year, we started working on moving Shopify Admin to React and TypeScript.

      Many things have changed since the days of jQuery and Batman. JavaScript execution is much faster. We can easily render our apps on the server to do less work on the client, and the resources and tooling for developers are substantially better with React than we ever had with Batman.

      #FrameworksFullStack #Languages

      See more
      Ganesa Vijayakumar
      Full Stack Coder | Technical Architect · | 19 upvotes · 5.5M views

      I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

      I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

      As per my work experience and knowledge, I have chosen the followings stacks to this mission.

      UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

      Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

      Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

      Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

      Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

      Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

      Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

      Happy Coding! Suggestions are welcome! :)

      Thanks, Ganesa

      See more
      React logo

      React

      173K
      142.8K
      4.1K
      A JavaScript library for building user interfaces
      173K
      142.8K
      + 1
      4.1K
      PROS OF REACT
      • 832
        Components
      • 673
        Virtual dom
      • 578
        Performance
      • 508
        Simplicity
      • 442
        Composable
      • 186
        Data flow
      • 166
        Declarative
      • 128
        Isn't an mvc framework
      • 120
        Reactive updates
      • 115
        Explicit app state
      • 50
        JSX
      • 29
        Learn once, write everywhere
      • 22
        Easy to Use
      • 21
        Uni-directional data flow
      • 17
        Works great with Flux Architecture
      • 11
        Great perfomance
      • 10
        Javascript
      • 9
        Built by Facebook
      • 8
        TypeScript support
      • 6
        Server Side Rendering
      • 6
        Speed
      • 5
        Feels like the 90s
      • 5
        Excellent Documentation
      • 5
        Props
      • 5
        Functional
      • 5
        Easy as Lego
      • 5
        Closer to standard JavaScript and HTML than others
      • 5
        Cross-platform
      • 5
        Easy to start
      • 5
        Hooks
      • 5
        Awesome
      • 5
        Scalable
      • 4
        Super easy
      • 4
        Allows creating single page applications
      • 4
        Server side views
      • 4
        Sdfsdfsdf
      • 4
        Start simple
      • 4
        Strong Community
      • 4
        Fancy third party tools
      • 4
        Scales super well
      • 3
        Has arrow functions
      • 3
        Beautiful and Neat Component Management
      • 3
        Just the View of MVC
      • 3
        Simple, easy to reason about and makes you productive
      • 3
        Fast evolving
      • 3
        SSR
      • 3
        Great migration pathway for older systems
      • 3
        Rich ecosystem
      • 3
        Simple
      • 3
        Has functional components
      • 3
        Every decision architecture wise makes sense
      • 3
        Very gentle learning curve
      • 2
        Split your UI into components with one true state
      • 2
        Image upload
      • 2
        Permissively-licensed
      • 2
        Fragments
      • 2
        Sharable
      • 2
        Recharts
      • 2
        HTML-like
      • 1
        React hooks
      • 1
        Datatables
      CONS OF REACT
      • 41
        Requires discipline to keep architecture organized
      • 30
        No predefined way to structure your app
      • 29
        Need to be familiar with lots of third party packages
      • 13
        JSX
      • 10
        Not enterprise friendly
      • 6
        One-way binding only
      • 3
        State consistency with backend neglected
      • 3
        Bad Documentation
      • 2
        Error boundary is needed
      • 2
        Paradigms change too fast

      related React posts

      Johnny Bell

      I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

      I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

      I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

      Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

      Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

      With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

      If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

      See more
      Collins Ogbuzuru
      Front-end dev at Evolve credit · | 38 upvotes · 259.1K views

      Your tech stack is solid for building a real-time messaging project.

      React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

      ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

      Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

      I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

      See more
      AngularJS logo

      AngularJS

      61K
      44K
      5.3K
      Superheroic JavaScript MVW Framework
      61K
      44K
      + 1
      5.3K
      PROS OF ANGULARJS
      • 889
        Quick to develop
      • 589
        Great mvc
      • 573
        Powerful
      • 520
        Restful
      • 505
        Backed by google
      • 349
        Two-way data binding
      • 343
        Javascript
      • 329
        Open source
      • 307
        Dependency injection
      • 197
        Readable
      • 75
        Fast
      • 65
        Directives
      • 63
        Great community
      • 57
        Free
      • 38
        Extend html vocabulary
      • 29
        Components
      • 26
        Easy to test
      • 25
        Easy to learn
      • 24
        Easy to templates
      • 23
        Great documentation
      • 21
        Easy to start
      • 19
        Awesome
      • 18
        Light weight
      • 15
        Angular 2.0
      • 14
        Efficient
      • 14
        Javascript mvw framework
      • 14
        Great extensions
      • 11
        Easy to prototype with
      • 9
        High performance
      • 9
        Coffeescript
      • 8
        Two-way binding
      • 8
        Lots of community modules
      • 8
        Mvc
      • 7
        Easy to e2e
      • 7
        Clean and keeps code readable
      • 6
        One of the best frameworks
      • 6
        Easy for small applications
      • 5
        Works great with jquery
      • 5
        Fast development
      • 4
        I do not touch DOM
      • 4
        The two-way Data Binding is awesome
      • 3
        Hierarchical Data Structure
      • 3
        Be a developer, not a plumber.
      • 3
        Declarative programming
      • 3
        Typescript
      • 3
        Dart
      • 3
        Community
      • 2
        Fkin awesome
      • 2
        Opinionated in the right areas
      • 2
        Supports api , easy development
      • 2
        Common Place
      • 2
        Very very useful and fast framework for development
      • 2
        Linear learning curve
      • 2
        Great
      • 2
        Amazing community support
      • 2
        Readable code
      • 2
        Programming fun again
      • 2
        The powerful of binding, routing and controlling routes
      • 2
        Scopes
      • 2
        Consistency with backend architecture if using Nest
      • 1
        Fk react, all my homies hate react
      CONS OF ANGULARJS
      • 12
        Complex
      • 3
        Event Listener Overload
      • 3
        Dependency injection
      • 2
        Hard to learn
      • 2
        Learning Curve

      related AngularJS posts

      Simon Reymann
      Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 5.1M views

      Our whole Node.js backend stack consists of the following tools:

      • Lerna as a tool for multi package and multi repository management
      • npm as package manager
      • NestJS as Node.js framework
      • TypeScript as programming language
      • ExpressJS as web server
      • Swagger UI for visualizing and interacting with the API’s resources
      • Postman as a tool for API development
      • TypeORM as object relational mapping layer
      • JSON Web Token for access token management

      The main reason we have chosen Node.js over PHP is related to the following artifacts:

      • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
      • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
      • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
      • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
      See more
      Simon Reymann
      Senior Fullstack Developer at QUANTUSflow Software GmbH · | 24 upvotes · 4.9M views

      Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

      • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
      • Vue Styleguidist as our style guide and pool of developed Vue.js components
      • Vuetify as Material Component Framework (for fast app development)
      • TypeScript as programming language
      • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
      • ESLint, TSLint and Prettier for coding style and code analyzes
      • Jest as testing framework
      • Google Fonts and Font Awesome for typography and icon toolkit
      • NativeScript-Vue for mobile development

      The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

      • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
      • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
      • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
      • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
      • Large scaling. Vue.js can help to develop pretty large reusable templates.
      • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
      See more