Chart.js icon indicating copy to clipboard operation
Chart.js copied to clipboard

Chart.js advantages and prominent features explained

Open igorlukanin opened this issue 1 year ago • 7 comments

Documentation Is:

  • [X] Missing or needed?
  • [ ] Confusing
  • [ ] Not sure?

Please Explain in Detail...

Chart.js has very thorough docs, API reference, and examples.

However, both Chart.js website and the docs lack the explanation of why would anyone choose Chart.js. On the website, Chart.js is described as "Simple yet flexible JavaScript charting for designers & developers" (arguably, not the best way to describe Chart.js). In the docs, a newcomer instantly faces installation instructions; parts of the information about the good parts of Chart.js is scattered over the pages.

Your Proposal for Changes

Why Chart.js. I'd like to extend the main page of the docs to explain the best parts of Chart.js and list the reasons to choose Chart.js.

Here's what I think is relevant:

  • popularity, adoption, and community
    • most popular charting library in the world (see GitHub stars)
    • actively developed (see GitHub activity and release cadence)
    • actively supported (see Stack Overflow activity)
  • feature-completeness
    • chart types, including mixed and external
    • animations
  • flexibility and configurability
    • extensive options
    • plugins (datalabels, annotation, zoom, etc.)
  • performance
    • canvas rendering
    • data parsing, normalization, and decimation
  • ecosystem integrations
  • developer experience
    • docs, samples
    • typings
    • tree-shaking

Tutorial. To help newcomers get started, I'd also like to show everything listed above in action with a step-by-step tutorial. It can demonstrate Chart.js and plugins installation, data fetching, configuration, rendering, interactions, etc.

Since this is going to be a more lengthy write-up, it's probably best placed in the Getting Started section and linked from the main page. Another option is to place it externally (see example) and link from the docs.

I'd love to get feedback on the "Why Chart.js" part. What else should be considered as a Chart.js advantage? How can this list be improved? Similarly, I'd love to get feedback on the "tutorial" part as well.

Example

No response

igorlukanin avatar Aug 23 '22 12:08 igorlukanin

most popular charting library in the world (see GitHub stars)

I don't know how its now but I did some comparison of some libs almost 2 years ago it seems, and then I looked at downloads and then others where more populair image So I am against advertising as the most populair charting lib since it can change, depends on what way of meassuring you use and it feels arogant in my eyes (when you say it about yourself)

Need to give it a better read later for better feadback but this sprung out for me with a quick scan

LeeLenaleee avatar Aug 23 '22 12:08 LeeLenaleee

@LeeLenaleee Great point! I totally agree that it should not sound arrogant or unsubstantiated.

At the same time, to the best of my understanding, Chart.js is genuinely the most popular charting library nowadays 🥳 and its maintainers/community should have no issue being transparent about that. As far as I see, both GitHub stars (currently at 58K) and npm downloads (currently at 2.1M/week) indicate that leading role. (ECharts, Recharts, Highcharts, and others have less starts/downloads and D3 is not essentially a charting library, it's more low-level.)

Here's an up-to-date GitHub star rating that I'm looking at: https://awesome.cube.dev/?tools=charts

I'm fine with "one of the most popular" though 😄

igorlukanin avatar Aug 23 '22 12:08 igorlukanin

For me, one of the big advantages is the good default config. It's really easy to use chart.js to get started even though it might not be the best project for really advanced use cases (though we have come a long way).

etimberg avatar Aug 24 '22 23:08 etimberg

even though it might not be the best project for really advanced use cases

@etimberg I'm curious which projects you consider fit for said advanced use cases.

igorlukanin avatar Aug 29 '22 08:08 igorlukanin

In my opinion highcharts and D3 are verry good contenders, highcharts has a lot of pre build chart types for almost anything you can want as an end user and with D3 you can make anything you like fully custom.

Plotly had also a decent amount of pre build chart types and has an ice advantage of user controls already build in without need for plugins and it's verry fast if I remember correctly since it doesn't do animations by default

But that's my pov

LeeLenaleee avatar Aug 29 '22 09:08 LeeLenaleee

My 2 cents, not from tech standpoint: highcharts, as far as I can see, it's not 100% free for all use cases, it depends on them, even if OSS.

stockiNail avatar Aug 29 '22 09:08 stockiNail

even though it might not be the best project for really advanced use cases

@etimberg I'm curious which projects you consider fit for said advanced use cases.

Highcharts and plot.ly are the big ones that come to mind. Most of the D3 based competitors are svg based and so styling becomes really easy as well

etimberg avatar Aug 29 '22 11:08 etimberg