When the charting library gives you exactly what you want (or close enough), sure. Probably for 95% of what most people need to do that's enough.
But as soon as you need to deviate or add extra functionality from what your chart library gives you, it's often about as much work to just do the chart from scratch in D3 than to dig into the internals of ChartJS or whatever to add in what you want.
Also, while it does have a steep learning curve, once you get the hang of it it's not that hard.
But as soon as you need to deviate or add extra functionality from what your chart library gives you, it's often about as much work to just do the chart from scratch in D3 than to dig into the internals of ChartJS or whatever to add in what you want.
Also, while it does have a steep learning curve, once you get the hang of it it's not that hard.