Apache ECharts 6
32 comments
·August 5, 2025homebrewer
mitemte
react-router is such a disaster. It’s got to be one of the most irritating but ubiquitous packages. I’m going to migrate to Tanstack Router on a project that uses react-router v6 currently, rather than bother with the v7 migration.
drewbitt
There is no real v7 migration though. There hasn't been anything breaking in react router for several years now.
andrewmcwatters
It hurts my marketability that I no longer put up with the masochism of the React ecosystem, but moving to web components was such a relief. I don't tolerate these projects that are constantly changing for no good reason.
mardifoufs
I'm not sure I follow. Are you saying that you don't use dependencies when using web components? Because that's usually the issue, not react itself. React doesn't really ever break backward compatibility. But yeah, if you don't use any deps, 3rd party upgrades/migrations aren't an issue.
prinny_
React itself is ok on that regard . But popular packages that are often installed in React projects very often publish breaking changes or deprecate stuff that used to be “the norm” until just a major version ago. It’s sad because the most common solution is to pin the dependencies.
andrewmcwatters
React itself is problematic enough considering its design is incoherent (now server-side rendered functional stateless programming with side effects,) but the other question is "What React?"
React isn't 12 years old, React is 5 different libraries, with paradigms that have lived for about roughly 2 years on average.
I don't know about you, but my projects are more mature than 2 years old. I don't have the patience for that kind of bullshit.
And I've done this stuff long enough to know if the kids decide this is the new fashion, the old stuff might incidentally still work, but all of the library's attention is going to be on what the maintainers are working on.
So React is now a server-side rendered, functional, stateless component library with side effects.
And that sounds like the dumbest thing I've ever read in web development.
dev_l1x_be
Echarts is the best charting library when you need a full fledge solution. It is worth to know that you can reduce the bundle size with this:
makepanic
If imported, using a bundler, one can also partially import features and install them when needed:
https://apache.github.io/echarts-handbook/en/basics/import/#...
rorylaitila
I feel I've tried them all. Echarts is the best overall charting library. Fast, complete, easy to start, advanced options, looks great by default, good examples, server and client rendering, SVG and canvas.
My only complaint is the chart-data data structures. Each chart type takes a different structure and axis data structure. They bolted on a data table feature (columns and rows), but it's not as documented and last I tried, incomplete.
ggregoire
I've toyed with various JS charting libraries over the last 15 years and I always come back to Echarts. Other libraries always miss options you eventually need if you are trying to do anything non trivial (e.g. the last one I tried didn't support multiple Y axises). It's feature complete while not having the complexity of coding a chart from scratch with D3. Works well with React too.
RyanHamilton
I evaluated a lot of chart frameworks 3 years ago before choosing echarts. We use it in our real time database visualization to to display charts at 10+ frames per second: https://www.timestored.com/pulse/ it's proved to be an excellent choice. There's been only one essential feature that I couldn't achieve and rechecking the github issue I see they merged a fix so I'm going to have to upgrade. Great work. Thanks.
RyanHamilton
Weekend and lunch time axis breaks for those curious: https://github.com/apache/echarts/issues/12796
elric
Their new chord chart is easily the clearest chord chart I've seen. Tooltips with directional arrows, clear gradients.
null
kakadu
While I like echarts I have found it somewhat challenging to extend their functionality.
I wanted a Gantt chart and while I did achieve what I wanted it wasn't without having to delve into the their source and putting log statements everywhere.
I happen to be using ant design and I've had the same issues there.
Its a bit all over the place and the translations are not great, but i will stick with it.
thoughtpalette
Also using Ant Design with eCharts. Having to funnel the designers to not use gradients for all the charts has been fun. While eCharts supports _some_ gradients, it's been a PITA for certain chart types.
I also made the mistake of using Ant Design Pro Forms since I wanted to use the StepForm Wizard component. All of the tsdocs are in Chinese and it's barely documented for more than their example use cases :'}
infecto
Some parts of the api are a bit confusing especially with more recent version upgrades but I still have found it to be the most powerful open source library that’s not D3.
kylecordes
I'm always thrilled to see eCharts mentioned anywhere. It is a highly featureful, complete solution for making sophisticated data-intense charts. Various commercial alternatives pale in comparison.
porridgeraisin
Recently tried a bunch of frontend charging libraries.
Disclaimer: I only tried line charts for time series X axis and bar charts for categorical X axis. No other charts. I had filters, group by and sort by options in control panel. Data was fetched everytime from database when control panel was modified, so no client side number crunching.
My requirements were:
Control panel at top (which I'll manage). Then a grid of charts below with synced cursors and zooms (toggleable).
Basically, grafana, but they're not necessarily time series graphs.
I found uPlot(which is iirc what grafana uses) and eCharts to be the handsdown winners. Within those two, I preferred eCharts as first of all uplot didn't have any docs, LLMs didn't really perform well, and also vue-eplot wrapper didn't work.
Secondly, eCharts had nice animations, which uPlot does not support and I understand why, but I just wanted it for this project. It's really neat, when you add a group by in your control panel the charts nicely animate and the legend shows up etc
The others just did not impress, highcharts, chart.js, c3.js, ag-grid.
But maybe they're better fit for another usecase.
Vue-echarts is such a nice wrapper too.
// your refs from control panel inputs
// chartOption = computed(() => make from inputs)
// <v-chart :chartOption />
Performance wise, it didn't lag upto few month date ranges for daily data that arises out of user interaction. So not super dense like logs or telemetry measurements, but not that sparse either. I didn't really benchmark it with proper stress tests beyond checking if it worked for the usecase at hand.It is also ridiculously reliable. When you have empty/missing data there's no annoying try-catch or guards you have to do when rendering, it automatically shows an empty graph with the size you specified. The title and other decorations still remain.
It also works well inside flex/grid layouts. No nonsense with CSS needed.
kinow
Thanks for the summary and good to know it integrates well with Vue.js!
tnolet
Anyone ever tried switching from Highcharts to ECharts?
gerenuk
We did for ContentStudio.io, in fact it’s my go to library for every project that involves visualization.
No regrets and we are very happy with it.
In another project, we started with nivo.rocks and eventually migrated everything to echarts. (Usermaven)
Onavo
Are there any good react wrappers for it?
nirav72
This is neat. Anyone using these for live charts with real time data?
blensor
This was such a random post on HN, because I didn't even know about echarts about 2 weeks ago. I had been using amcharts for the workout analysis in XRWorkout for several years but wanted to switch to a more open library.
Converting the old amcharts code to echarts worked almost automatically with Gemini 2.5 Pro and since a bit over a week all stats in the game ( via webview ) and in the web on the user portal are now using echarts.
I'm even using it in a Three.js visualizer for the recorded workout data ( which is still highly experimental so don't judge the visuals please ): https://portal.vrworkout.at/static/workout_visualizer/index....
Props to them for keeping backwards compatibility. I always dread seeing these major releases, especially after being burned several times by the tire fire of react-router. Migrating a rather large project from 5.6 to 6.0 (10 chart types, around 1k charts in total) took maybe 15 minutes of work. IIRC the only breaking change was them moving the legend to the bottom, which was easy to revert by importing the old theme.
And all that for free. The project was using a commercial library until about a year ago; no regrets since moving to echarts.