
Matplotlib
Plotly
Bokeh
Seaborn
Shiny
D3.js
Tableau
Application and Data, Libraries, and Charting Libraries

D3.js
Highcharts
AnyChart
ApexCharts
Chartist.js
Google Charts
Backbone.js
Easy, object oriented client side graphs for designers and developers.
Which is more popular?
Based on our record, ggplot2 seems to be a lot more popular than Chart.js. While we know about 12 links to ggplot2, we've tracked only 1 mention of Chart.js.
Website, pricing, platforms and company facts side by side.
|
|
|
|
|---|---|---|
| Website | ggplot2.tidyverse.org | chartjs.org |
| Pricing | ||
| Listed in |
What each product offers, as listed by its team.


Possible disadvantages
Possible disadvantages
An editorial look at what each product does well and who it suits.


No analysis of ggplot2 yet.
Overall verdict
Why this product is good
Recommended for
Walkthroughs and reviews on video.
Learn R: An Introduction to ggplot2
More videos
1.3: Graphing with Chart.js - Working With Data & APIs in JavaScript
More videos
How often each product is chosen within a category, 0–100% relative to the other.


Share your experience with using ggplot2 and Chart.js. For example, how are they different and which one is better?
External articles and on-site reviews we used to compare the two products.


ggplot is a system for creating graphics declaratively. It’s based on the Grammar of Graphics of R programming language and is tightly integrated with Pandas. ggplot just requires you to declare how to map the...
Ggplot is a Python data visualization library that is based on the implementation of ggplot2 which is created for the programming language R. Ggplot can create data visualizations such as bar charts, pie charts,...
Of the free libraries on this list, ECharts has the widest range of chart types available, second only to D3. Unlike D3, ECharts also ranks highly on the user-friendliness scale, although some users find ApexCharts...
Chart.js is a chart library that is available as a client-side JavaScript package. There are also derivatives for other frontend frameworks, like React, Vue, and Angular. It displays the chart on an HTML canvas element.
Chart.js is a simple yet quite flexible JavaScript library for data viz, popular among web designers and developers. It’s a great basic solution for those who don’t need lots of chart types and customization features...
Recommendations tracked on public social media and blogs since March 2021.


Plotnine is heavily inspired by the ggplot2 library, which uses the + operator in the same way: https://ggplot2.tidyverse.org/#usage. - Source: Hacker News / 4 months ago
For random, quick and dirty, ad-hoc plotting tasks my default is GNUPlot[1]. Otherwise I tend to use either Python with matplotlib, or R with ggplot2. I keep saying I'm going to invest the time to properly learn D3[4] or something... - Source: Hacker News / about 3 years ago
I got the list of five-letter words from the words package in R, created the QWERTY keyboard grid with base R and tibble, and visualized the data with geom_tile in the ggplot2 package. Source: about 3 years ago
Https://chartjs.org works well, but you have to call the update function yourself if you want to do some reactive updates. Source: over 5 years ago
When comparing ggplot2 and Chart.js, you can also consider the following products.

matplotlib is a python 2D plotting library which produces publication quality figures in a variety...
Compare Matplotlib to ggplot2 or Chart.js:

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS.
Compare D3.js to ggplot2 or Chart.js:


A charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web site or web application
Compare Highcharts to ggplot2 or Chart.js:


Award-winning JavaScript charting library & Qlik Sense extensions from a global leader in data visualization! Loved by thousands of happy customers, including over 75% of Fortune 500 companies & over half of the top 1000 software vendors worldwide.
Compare AnyChart to ggplot2 or Chart.js: