10 ms·
Apache ECharts
- jollyllama 2y agoLooks like it could work nicely with HTMX.
- wlkr 2y agoFunny seeing this here with your comment, as I was exploring using ECharts for a project recently to work exactly with HTMX from a Clojure backend. I eventually settled on Chart.js as I found that for my use case, I wanted the charts to more easily fit their dynamically sized container, which isn’t quite as simple with ECharts and Vega. I also didn't need particularly complex plots. Nevertheless, this is a nice project! There remain some open challenges with web-based visualisation libraries more generally around responsive design and accessibility, but we’ve come a long way.
- simlevesque 2y agoDid you look at charts.css ? https://chartscss.org/ https://chartscss.org/
- wlkr 2y agoThis looks great, thanks! I didn't come across this this in my search but I'll definitely try it out.
- jollyllama 2y ago> more easily fit their dynamically sized container I've done this for more simpler elements. Copilot helped me come up with a little bit of custom JS in those cases.
- dismalaf 2y agoNot sure about HTMX specifically, but I've used it with Rails/Hotwire/Stimulus (similar conceptually) and it works great.
- anentropic 2y agoI'm using ECharts with HTMX + AlpineJS, with ECharts wrapped in an Alpine component I had to disable hx-history to get around a problem of the charts getting double instantiated it feels a bit of a lame workaround but I never managed to get to the bottom of it apart from that, totally happy
- resolutefunctor 2y ago[flagged]
- deleted 2y ago[deleted]
- XCSme 2y agoHow does it compare to https://www.chartjs.org/ https://www.chartjs.org/ ?
- go_prodev 2y agoIt's much heavier but a lot more powerful and flexible.
- XCSme 2y agoThanks! And is it more or less performant on large datasets (100k+ data points).
- etimberg 2y agomaintainer of chartjs here. It’s probably more performant. Chart.js isn’t designed for a ton of data and we recommend sampling before visualization . We have a builtin plugin that does a form of min/max sampling to retain peaks but cut down on the amount of data points drawn
- rudasn 2y agoHey! Thanks for maintaining chartjs :)
- leeoniya 2y agomaintainer of uPlot here :) they're about same for line chart rendering when using decimation in both.
- XCSme 2y agoWow, that's cool, thanks for working on it, I've been using Chart.js for many years :) Performance seemed quite good with Chart.js in my case, for small to medium datasets.
- joshkel 2y agoThe biggest difference I'm aware of is that ECharts has an add-on for 3D charts (echarts-gl). Chart.js doesn't have any 3D functionality. (Our project mostly uses Chart.js, so I'm more familiar with it.)
- TechDebtDevin 2y agoI've been meaning to practice some data visualization tasks... If anybody knows any cool datasets they'd recommend that aren't your run of the mill kaggle consumer data or whatever. I'm particularly interested in bioinformatics/genetics data but not really sure of where to look (and have almost no background, just personally interested in comp-bio).. If anyone could recommend cool and open esoteric data/possible projects, that would be awesome.
- cess11 2y agoCould try these: https://www.ncbi.nlm.nih.gov/datasets/ https://www.ncbi.nlm.nih.gov/datasets/ https://github.com/OpenGene/awesome-bio-datasets https://github.com/OpenGene/awesome-bio-datasets
- TechDebtDevin 2y agoThanks!
- FredPret 2y agoThe line race looks so cool. https://echarts.apache.org/examples/en/editor.html?c=line-race https://echarts.apache.org/examples/en/editor.html?c=line-ra... Toggle the switches to trigger the race. By the way, well done Norway.
- rrr_oh_man 2y agoProps to Hans Rosling I think: https://www.youtube.com/watch?v=hVimVzgtD6w https://www.youtube.com/watch?v=hVimVzgtD6w (2003)
- vecinu 2y agoSomething's off here. The data appears as "life-expectancy-table.json" but the title refers to Income. Not sure where the mistake is.
- macNchz 2y agoThe source data, despite the filename, contains Income, Life Expectancy, and Population by Country+Year: https://echarts.apache.org/examples/data/asset/data/life-expectancy-table.json https://echarts.apache.org/examples/data/asset/data/life-exp...
- NicuCalcea 2y agoIt looks neat, but unlike the Hans Rosling example someone else mentioned, the animation adds no additional information. Showing just the last frame would get the same point across much quicker and more accessible. It's a form of chartjunk. https://en.wikipedia.org/wiki/Chartjunk https://en.wikipedia.org/wiki/Chartjunk
- razemio 2y agoYou know how a presenter asks questions on a topic where he is the expert? Same goes for this animation. It does not show but hide information to keep the reader engaged. I found myself guessing who will be first and boy was I wrong. My ego would have prevented me from noticing, if the chart would have been presented to me right away. On YouTube you can see how well this works. There are channels with a huge follower base just existing because of this animation.
- JacobiX 2y agoIn a quick web demo, this library was the only one that could handle interactive viewing and manipulation of a very large graph using its GraphGL component ! I don’t think it's a well-known visualization library, but it's quite interesting ...
- wackget 2y agoI'd really like to know how they did all the transition effects. They were really cool.
- nylonstrung 2y agoWhat does this have over Plotly, Chart.js, D3, Bokeh, etc
- sergioisidoro 2y agoA very large library of premade charts for web. Probably the largest I've seen. Less customizable than chart.js, and D3 is more of a rendering library than a charting library.
- secos 2y agoI'd forgotten all about this library, its certainly come a long way!
- AntonyGarand 2y agoI'm surprised by your claim of it being less customizable than chart.js, it has been very flexible from my experience. It could rival d3 with a lot of customization and a worse DX from what I've seen: It's essentially a good amount of defaults, but you can override and replace essentially anything.
- ranger_danger 2y agoCan you name one thing that chart.js does that Apache ECharts cannot do?
- skadamat 2y agoI wrote a bit about that here: https://preset.io/blog/2021-4-1-why-echarts/ https://preset.io/blog/2021-4-1-why-echarts/
- nylonstrung 2y agoThanks! I actually use Superset and echarts does work well on it
- darth_avocado 2y agoJust a nit: the part that describes its mobile optimized (and pretty much all other pages describing the features) does not load correctly on mobile. https://echarts.apache.org/en/feature.html#mobile https://echarts.apache.org/en/feature.html#mobile
- amanj41 2y agoUsed this for some knowledge graph visualization work. Really clean UI and some nice features out of box for interactivity
- keithxm23 2y agoI was particularly impressed with how performant the demo was as it was playing. I was fully expecting my Macbook-fan to start whirring as it usually does with most javascript-heavy pages.
- 9283409232 2y agoI don't think I ever see Wechat and Weibo in the "Follow Us" box. Was this donated to Apache by a Chinese company? I feel like we will see a lot more of this in the coming years.
- devitx 2y agoThe library originates from a team of developer from a chinese Company (Baidu I think).
- jacksavage 2y agoI saw that the rendering library for echarts, zrender, is managed by a GitHub org associated with Baidu https://github.com/ecomfe https://github.com/ecomfe
- deleted 2y ago[deleted]
- mediaman 2y agoAgreed - geopolitics aside, it's been awesome to see how much Chinese companies have embraced open source in a number of different domains. I think the whole ecosystem is going to greatly benefit from the contributions of Chinese open source projects.
- throwaway290 2y agoIt is a country with public adverts explicitly saying "America/west is the enemy". Supply chain attacks via open source are already happening.
- throwaway290 2y agoIt's made by Baidu and Apache is sponsoring them (why I don't know, Baidu must have enough money right?)
- skadamat 2y agoApache Superset switched many of their interesting charts over to ECharts: https://preset.io/blog/2021-4-1-why-echarts/ https://preset.io/blog/2021-4-1-why-echarts/
- frogperson 2y agoThank you, I thought these looked familiar somehow.
- adeptima 2y agoLook at Superset chart implementations and component choice all the time.
- grzaks 2y agoSuperset[1] BI tool is a good example of how useful ECharts are [1] https://superset.apache.org/ https://superset.apache.org/
- mritchie712 2y agowe use eCharts for all the visualizations in https://www.definite.app/ https://www.definite.app/. We evaluated pretty much every option and it's the best non-react option. Recharts honestly seems a little nicer if you're using React, but our frontend is in Vue.
- Octoth0rpe 2y agoEven if one is using react, I think there's value in choosing libraries that are not deeply tied to react such that that logic can be reused when (not if) we need to start migrating away from it.
- cyral 2y agoThe problem is non-react chart libraries can be a bit cumbersome to use in React. For example, D3 controls the DOM itself through various transformations. React is not aware of these updates and combining react's state based DOM manipulation with random updates from a charting library gets messy.
- simlevesque 2y agoIf you're looking for a chart library for a web client, I also recommend charts.css. It's a godsend honestly, the concept is way simpler than most charts libraries and can achieve the same thing. Makes it so simple to use the old way, server side rendering, htmx, etc... https://chartscss.org/ https://chartscss.org/
- paulirish 2y agoIn the same vein, I've long had a soft-spot for the JS-enhanced https://pancake-charts.surge.sh/ https://pancake-charts.surge.sh/ (developed by NYT graphics team and used for the covid charts).
- tkcranny 2y agoThought that felt very “Svelte-like”. And of course, turns out it was by Rich Harris himself back when he was at the NYT. Beautiful charts, shame it looks defunct now.
- Eduard 2y agoThe animation examples for chartscss are annoying. it doesn't look nearly as functional
- homebrewer 2y ago> can achieve the same thing Did you even look at echarts demos, or amcharts demos for that matter -- it's basically the same thing, but paid for: https://www.amcharts.com/demos https://www.amcharts.com/demos ? I don't have anything against charts.css, but it's like comparing a children's plastic toy to a real space shuttle. I spend most of my work hours developing a heavy business analytics application (not unlike Apache Superset), and it would simply be impossible to implement it with something like chart.css
- infecto 2y agoChart css is like any of the other numerous libraries that can draw a line chart. It is a world apart from echarts.
- 2y ago
- xiaoyu2006 2y agoPleasing visual which had my browser's FPS went low, especially at the liquid fill extension part.
- deleted 2y ago[deleted]
- paulirish 2y agoImpressive work! Their main demo there pays some homage to Mike Bostock's d3 transitions showcase from 2011: https://mbostock.github.io/d3/talk/20111116/transitions.html https://mbostock.github.io/d3/talk/20111116/transitions.html (click to start)
- tempdisposal 2y ago[dead]
- forthwall 2y agoI love echarts, I've used it at almost every company I've worked at to this day since I found it.
- bzmrgonz 2y agohow long ago did you find it? Maybe you can share the dev progress if it was a few years back.
- the_arun 2y agoReminds me of https://d3js.org/ https://d3js.org/
- faustocarva 2y ago[flagged]
- jjmarr 2y agoAre ECharts safe for untrusted user input?
- lxe 2y agoWhat a complete exhaustive set of examples! Very useful. Both SVG and Canvas renderers differ very little and both seem to be super performant. The declarative API is just so simple... harkens back to the age of batteries-included web frameworks like Ext.
- smashah 2y agoSorry if this is a silly question but how does a project become "Apache"? Like is there a core team starting these projects or is there an application process for a project to be under the Apache banner?
- SoftTalker 2y agoI believe it's the latter. https://incubator.apache.org/ https://incubator.apache.org/
- OsrsNeedsf2P 2y agoThe only thing I ever want out of these chart libraries is to be able to theme them. Does anyone know how customizable the theming for ECharts is?
- iamsmooney 2y agoIt might be able to: https://echarts.apache.org/en/option.html#color https://echarts.apache.org/en/option.html#color
- harunurhan 2y agoI was curious about this too, and I found https://echarts.apache.org/en/theme-builder.html https://echarts.apache.org/en/theme-builder.html
- anentropic 2y agoIt's pretty extensively customisable Certainly colours, fonts and sizes are all configured at the 'theme' level, plus the charts themselves have a lot of visual variations to choose from I don't think you would have any problem making it fit with the style of your site
- deleted 2y ago[deleted]
- rorylaitila 2y agoECharts is in my opinion the best out there. It surprisingly doesn't come up in a lot of lists or search for charting libraries. I've tried them all: chart.js, google charts, amCharts, Highcharts, ApexCharts. We use it in our tool/library https://docs.chartsql.com/ https://docs.chartsql.com/
- abirch 2y agoWhat about D3js? I know that D3js is low level, but with AI it's pretty easy.
- infecto 2y agoI refuse to use it out of principle that they have intertwined it with observable. All the modern docs for d3 assume you are using observable. So unless you are relying entirely on AI it’s now even harder to grok the documentation. Not sure why this is so contentious. You can search online how many others this impacted as well. All of the modern examples for d3 were rebaked into the observable notebook pattern and it seriously obfuscated how to use d3 itself.
- dleeftink 2y agoThere's Plot, which is as standalone as anything[0]. That said, I still find D3 unparalleled in depth and scope. [0]: https://github.com/observablehq/plot https://github.com/observablehq/plot
- josephg 2y agoI used Plot for an academic paper I wrote recently. It was the only charting library that I found that let me generate the charts I wanted to draw - which in my case was a grouped bar chart with a logarithmic scale. Ie: https://github.com/josephg/egwalker-paper/blob/master/diagrams/timings.svg https://github.com/josephg/egwalker-paper/blob/master/diagra... I didn't try echarts though. I might have to give it a go if its good.
- vkaku 2y agoThis is great. I was always looking for a well licensed library that is well maintained and ships a coherent featureset. This seems to tick all the boxes.
- geysersam 2y agoDo anyone have experience with this in comparison to vega?
- arsalanb 2y agoWe use Vega pretty heavily, its a broader ecosystem. Where it really shines is in combination with Altair and Vegafusion to do number-crunching on the backend and return a chart spec that can just be rendered on the front-end. That makes it particularly useful when building interactive visualizations with a lot of data.
- bawolff 2y agoAs an aside, wikimedia is switching all their chart support from vega to echarts. I'm not an expert on either, but my impression is that vega tries to do literally everything using a custom json syntax which can get confusing and unwieldly. Echarts is a bit more straightforward at least for the simple case. Vega has a questionable security track record which is concerning if you let untrusted users define graphs.
- smjburton 2y agoI was just looking into charting libraries for React/React Native, and Apache ECharts seems like a great contender for cross-platform data visualization. The libraries that I came across - react-echarts (https://github.com/hugocxl/react-echarts https://github.com/hugocxl/react-echarts) and react-native-echarts (https://github.com/wuba/react-native-echarts https://github.com/wuba/react-native-echarts) - both seem to be actively developed, and the fact that it's under Apache is a huge plus for future development prospects and maintenance of the project.
- bzmrgonz 2y agowhat happened to sankey? no sankey graph??
- Octoth0rpe 2y agoecharts definitely supports sankey: https://echarts.apache.org/examples/en/index.html#chart-type-sankey https://echarts.apache.org/examples/en/index.html#chart-type...
- scottgpaulin 2y agoECharts powers all charts in tablab.app. Might be using 20 different chart types or so Very happy with it. Theming works well (saw a question or two about that)
- numdefined 2y agoWe [1] use ECharts to visualize all of our data and it's pretty great to use. It's also very pluggable, so one can only import the components one needs for each chart. Meaning if you only use the `bar` series type, you can just only import the `bar` component. Same thing not only for other chart types but also stuff like mark areas or zoom controls. There's also a bigger update in the work which brings e.g. violin plots. [1] - https://donation.watch/ https://donation.watch/
- evaneykelen 2y agoAfter many trials with other libraries, my team settled on Apache ECharts last year, and we do not regret it: excellent documentation, performant, highly configurable yet easy to use, and supporting all the chart types we need (bars, stacked bars, maps, zoomable/scrollable time series, and scatter plots).
- nXqd 2y agohow is it compared to ag-grid chart?
- evaneykelen 2y agoWe did not evaluate libraries that have a paid plan
- aargh_aargh 2y agoWhat about Vega?
- rubyn00bie 2y agoI like ECharts a lot and generally, it was incredibly easy to use and customize. I tried a lot of alternatives that weren’t nearly as full featured. It’s really got most anything you’d want included in outta the box. With that said, I had trouble getting it to stream updates, and was having big performance issues with the dataset I was throwing at it (full telemetry from a racing sim roughly every 12ms). I did not make any attempt to refine the data before delivering it so YMMV. I eventually switched to Plotly and D3 to get better performance, but definitely missed the ease of use.
- je42 2y agoEcharts can correctly animate data thats streaming via a moving window from right to left. Some other libs have issues in this case.
- neomantra 2y agoI'll toss some props to `go-echarts` [1], which allows you to declare charts with Golang types and it all gets bound to JSON automagically by Golang's JSON marshaller. I've used it for many projects and whenever there's an issue/PR, the maintainer responds quickly. It's fun to Go-embed JavaScript functions and SQL queries, for this weird blend of data, SQL, Go and Javascript. Here's a Golang example that pulls data from a DuckDB and creates a baked-in candlestick chart file with JavaScript tooltips. [2] [1] https://github.com/go-echarts/go-echarts https://github.com/go-echarts/go-echarts [2] https://github.com/NimbleMarkets/dbn-duckduck-goose/blob/main/handlers/get_charts.go#L207 https://github.com/NimbleMarkets/dbn-duckduck-goose/blob/mai...
- TheGoodBarn 2y agoThis is so sick thank you for sharing. I do a lot of Go + DuckDB stuff. I’ve done some janky JS / html/template stuff for charting so this will be fun to play with
- selfhoster 2y ago[flagged]
- rochak 2y agoNow that’s incredible
- amcaskill 2y agoWe use ECharts extensively in Evidence (https://github.com/evidence-dev/evidence https://github.com/evidence-dev/evidence). Overall has been a delight.
- hughess 2y agoExamples from this fairly custom implementation: https://docs.evidence.dev/components/all-components/ https://docs.evidence.dev/components/all-components/
- stoicjumbotron 2y agoSuch an amazing project! Although I don't have any use case as of right now, will definitely keep this one in mind.
- notimetorelax 2y agoThanks for sharing, evidence looks very interesting. Reading the docs, do I understand it right that I need to publish parquet files so that WASM DuckDB could query them. I’m a bit concerned users wholesale downloading all the data.
- r3tr0 2y agoWe are actually using Apache ECharts to visualize system performance data in real-time using eBPF. We had to do a bunch of stuff on top of it to get it working but all in all pretty nice. You can check it out here in our sandbox: https://yeet.cx/play https://yeet.cx/play
- Game_Ender 2y agoGetting a 503 with that link.
- perdomon 2y agoAnybody have experience using echarts with Vue 2.6? This looks way easier to implement than chart.js, but I’m worried about compatibility with such an old Vue build.
- jlaporte 2y agoNo opinion on this particular package. But on the naming, "Apache" ECharts... It's long since time that Apache foundation projects stop using the Apache name. Apache is a license, a foundation, a webserver. Apache supported projects have little to do with that - not the same people, not the same product area. Just some help with money and logistics. And for those that argue the tie to the Apache org: They're not CNCF Kubernetes, CNCF Helm, CNCF Jaeger. They're Kubernetes, Helm, Jaeger.
- abtinf 2y ago> They're not CNCF Kubernetes, CNCF Helm, CNCF Jaeger. Maybe they should be?
- miiiiiike 2y agoI’d keep it. Announcement: “ECharts, a JS charts package” My assumption: It’ll be unmaintained within a year. Announcement: “Apache ECharts, a JS charts package” My assumption: It’ll be maintained next year.
- captainmuon 2y agoInteresting, I have the opposite association. When I see Apache something, I assume development has ceased and the project is legacy or maintenance only. There is a saying, "Apache is where projects go to die".
- WilTheFarmer 2y agoI have not heard that saying before... as of 10 April 2025 W3Techs.com rankings Nginx - 33.8% Apache - 26.4% Cloudflare Server - 23.4% LiteSpeed - 14.7% Node.js - 4.3% Microsoft-IIS - 4.0% Envoy - 1.3% Google Servers - 0.8% Caddy - 0.3% IdeaWebServer - 0.1% Percentages of websites using various web servers Note: a website may use more than one web server 5 months using Apache Echarts and watch GitHub repository https://github.com/apache/echarts https://github.com/apache/echarts for all activities. The developer team enthusiasm and unity is impressive. It is flexible, powerful, constantly improved and plenty of examples.
- KomoD 2y ago> as of 10 April 2025 W3Techs.com rankings Nginx - 33.8% Apache - 26.4% Cloudflare Server - 23.4% LiteSpeed - 14.7% Node.js - 4.3% Microsoft-IIS - 4.0% Envoy - 1.3% Google Servers - 0.8% Caddy - 0.3% IdeaWebServer - 0.1% Percentages of websites using various web servers Note: a website may use more than one web server How is any of that relevant to parent? People using something doesn't mean it's maintained. (I'm not saying it's not maintained, I just don't see how those numbers are relevant)
- captainmuon 2y agoIt's not about the Apache web server, and I know there are a lot of actively maintained and respected projects under the Apache label (Lucene, Tomcat, Maven, ...). I think the project that gave the most sour association was OpenOffice, which was donated to Apache when it was already over and the LibreOffice fork was well underway, and it has been on life support ever since. I recall there were a couple other projects with a similar fate but to be honest it is probably more of a brand reputation thing than an assessment of the quality of every project.
- greenavocado 2y agoHow is the Apache project still alive? Who funds them?
- mr_toad 2y agohttps://www.apache.org/foundation/sponsors https://www.apache.org/foundation/sponsors
- henning 2y agoECharts was handy for getting a quick chart going in a typing practice app I wrote. It was easy to get a chart showing WPM over time on a word list.
- floppydiskette 2y agoRelated, I just wrote an article and demo about enabling Apache ECharts in React[1] this week. [1] https://tania.dev/apache-echarts-react/ https://tania.dev/apache-echarts-react/
- mceoin 2y agoWe [1] just added to ECharts as a charting library for our AI and are switching the default GUI charts over to it as well. We did a pretty extensive review before selecting it. ECharts won because it's excellent, and very pretty. 1. https://sourcetable.com https://sourcetable.com
- givemeethekeys 2y agoIs it Vibe Coding friendly?
- uwemaurer 2y agoEcharts has good documentation and examples so I think it should be vibe coding friendly when you reference the docs (eg with cursor)
- anentropic 2y agoI've found ChatGPT reasonably good at giving me working ECharts configs...
- techscruggs 2y agoI've been using apache echarts for a while. It is excellent. As you dig deep, some of the examples and libraries are in Chinese, which can be challenging. The only real drawback that I've discovered is that it uses canvas to generate the charts. So, when you UI changes to dark mode, you need to reload your charts to update the color scheme ... which in the grand scheme of things is really minor.
- elAhmo 2y agoThe demo is seriously impressive! I haven’t heard of this library before, will definitely consider using it
- DadBase 2y agoI’ve had good luck generating charts with gnuplot and serving them as static images—keeps things simple and easy to cache. Haven’t had a need for a full JS charting library yet, but I can see the appeal.
- _nickwhite 2y agoThis is super slick. I remember spending hours maybe days trying to make MRTG or rrdtool graphs look like these.
- gerash 2y agowhat's the best way to use a JS visualization library like this while using python for data extraction / manipulation in a notebook format (eg. Jupyter notebook, Google Colab, etc.) ?
- ddanieltan 2y agomight want to give https://pyecharts.org/#/ https://pyecharts.org/#/ a try. After data manipulation in a notebook, import pyecharts and use their api to create an echart
- mt_ 2y agoThe AWS Quicksight BI tool uses it underneath.
- cwillu 2y agoI really wish the “slowly fade elements in as they scroll onto the screen” would die.
- lucasfcosta 2y agoWe've tested almost every visualization library under the sun when building Briefer (https://briefer.cloud https://briefer.cloud) and I can confidently say that Apache ECharts is the best. The main issues with other libraries is that they're either: (a) ugly (b) difficult to use (i.e. having to do things imperatively) (c) not flexible enough Apache ECharts solve these 3 problems. It's pretty by default, it allows us to mount/calculate the declarative spec for the graphs in the back-end and then only send the desired spec to the front-end so it can render, and it's also extremely flexible to the point we can support everything that traditional BI tools can do. We've never had to extend the lib to do anything new, everything we need is already there. Glad to see this great piece of work on top of HN.
- stuartaxelowen 2y agoDid you compare to vega/vega lite? Curious to hear how they compared!
- spaceribs 2y agoI've used both, and while I think Vega has it's uses, it's not nearly as web developer friendly. Frontend engineers want a clear delineation between logic, composition and styling. By combining everything into a JSON document, you sacrifice that developer experience while introducing a lot of bespoke approaches. That said, I absolutely love the idea that a blob of JSON living in my database contains everything I need for my visualization. The reality is that not enough other people are willing to put in the effort to learn that syntax, making it somewhat of a selfish tech choice.
- RobinL 2y agoAs a big user of vega lite I think that's fair. I think it really shines when used by data vis experts, where charts need to be precise, such as in research and analysis contexts. For something like a simple a metrics dashboard I think I'd agree that it may be difficult for devs.
- noduerme 2y ago
- hajile 2y ago22.7MB to download the latest release from Github (87.3MB unzipped). That's an insane amount of JS to download and compile (people often complain about React being ~50kb). The default recommended way to use it is `import * as echarts from 'echarts'` which means you are getting the WHOLE thing. Does anyone with experience know how big is it when you pick and choose modules?
- infecto 2y agoIn fairness that would be all the charting options baked in. Typically you only install the specific charts you are using.
- frainfreeze 2y agoNot that big if you pick just what you need (but still quite a lot of kb to be fair). Take a quick look at their online builder and test it for yourself https://echarts.apache.org/en/builder.html https://echarts.apache.org/en/builder.html
- aitchnyu 2y agoUmm, minified version from site is 335.50 kB gzipped /1.03 MB.
- anentropic 2y agoThe lib is modular My current build for an analytics dashboard app uses: echarts.use([ // chart types: BarChart, LineChart, GaugeChart, PieChart, // chart features: TitleComponent, LegendComponent, TooltipComponent, // ~30kb GridComponent, // ~100kb, controls layout (not visible grid lines) LabelLayout, DatasetComponent, // renderer: SVGRenderer, ]); ...and comes out at 550kb minified but unzipped
- King-Aaron 2y agoI've probably used Apache e-charts in some way or another in every project I've been on in the last decade. One of those packages that just works out of the box.
- d_t_w 2y agoWe have been using Apache ECharts in our products[1] since 2020. Cannot recommend it enough - absolutely fantastic library, great documentation, zero issues of any impact to us in five years. My only wish is for the keyboard accessibility ticket[2] to get some love! [1] https://factorhouse.io https://factorhouse.io [2] https://github.com/apache/echarts/issues/14706 https://github.com/apache/echarts/issues/14706
- sunpazed 2y agoFunny to see you here. I’m from operata.io (also a Melbourne based startup) and would see your website (operatr.io) when I would mis-spell mine!
- ingen0s 2y agoTimes sure do change - nice acquisition- hope it stays open
- prabhatsharma 2y agoWe moved from plotly to eCharts at OpenObserve, having faced too many small things that we had to fight with plotly. Haven't looked back since the migration.
- rogerrogerr 2y agoDoes anyone know of a way to print echarts to a PDF, without having a headless Chromium instance involved? Been fighting this at work.
- phonon 2y agohttps://www.blog.pythonlibrary.org/2018/04/12/adding-svg-files-in-reportlab/ https://www.blog.pythonlibrary.org/2018/04/12/adding-svg-fil... ?
- lucb1e 2y agoNoticed it uses HTML5 canvas to render data by default. To screen readers, am I correct in understanding that this is equally accessible as when people share screenshots of text? There is an SVG option that looks identical but it doesn't say when you're supposed to use that, or why canvas exists (and is the default) if SVG would work equally well. Then again, setting an example chart to use SVG rendering (I was looking at the basic scatter plot functionality, since I use that most often), I can't seem to tab or otherwise navigate through the data points, so it may just be impossible to get the data read out to you like "first data point, year 2006 students 25 939" (if the axes were labeled "year" and "students", for example; they're not labeled in the example but it could still read out the positions of the points)
- derkades 2y agohttps://apache.github.io/echarts-handbook/en/best-practices/canvas-vs-svg/# https://apache.github.io/echarts-handbook/en/best-practices/...
- potamic 2y agoIs it even possible to make a chart accessible? I would have thought you would want to hide the chart and expose the raw table to screen readers.
- buovjaga 2y agoI see there are unaddressed requests for improving accessibility: [Bug] ECharts claims to be accessible, but is not keyboard accessible https://github.com/apache/echarts/issues/18585 https://github.com/apache/echarts/issues/18585 [Feature] Support for accessibility of elements inside the chart (series, legend...) https://github.com/apache/echarts/issues/18256 https://github.com/apache/echarts/issues/18256
- didip 2y agoYou are asking why Canvas? The answer is simple: Canvas is vastly better performing when given a large amount of datapoints. The difference is not even on the same plane.
- jaysen_apache 2y agoafter trying many charting, we settled on Apache Echart as well. its really flexible for lot of use-cases and customizable. if this doesnt work for you, the only option left is D3. Btw, we have not looked at many paid chart options like hicharts or other.
- MR4D 2y agoThe demo page is ridiculously long. I ran out of things to search for. Well done! https://echarts.apache.org/examples/en/index.html https://echarts.apache.org/examples/en/index.html
- Jasonwuyc 2y agoThis is so cool!
- adeptima 2y agoHappy eChart user. Added a tiny Reactjs wrapper on the top and ditched all D3 libraries. Never look back. Easy to inline and embed into slatejs based documents. Usable on mobile and responsive enough for my use cases.
- ggm 2y agolongterm google charts user. This has attraction. Good eye candy feel, responsive. There are some specific things google charts do, like mark out kashmir and other disputed territories differently depending on your origin IP/AS so you don't fall foul of Indian law. There are some things google charts don't do, like re-center maps off the meridien they think is best. Scaling geo charts for the pacrim island nations is also very hard. No good choices there perhaps. Is there a migration guide?
- uwemaurer 2y agoWe use Echarts on our Bluesky analytics site https://bluefacts.app/profile/bsky.app https://bluefacts.app/profile/bsky.app Really great experience, we optimized the imports to reduce bundle size. For https://www.appbrain.com https://www.appbrain.com we also use it and had to optimize it even more.We render it server side and only return the SVG to the client. Server side rendering is a very powerful feature only very few chart libraries support.
- uwemaurer 2y agohttps://apache.github.io/echarts-handbook/en/how-to/cross-platform/server/ https://apache.github.io/echarts-handbook/en/how-to/cross-pl... also they have a very lightweight client library to add back interactive things like popups on hover when using server side rendering
- Brosper 2y agoI never heard of them, hmm. Apache doing great work here.
- lysecret 2y agoNever seen so much positivity related to a tool since SQLite
- kortilla 2y agoInstalling from random npm repos is so sketchy with supply chain attacks. Is there such a thing as a security audited open source distro kinda like some of the ultra old kernel versions RHEL carried for so long? There is a market for “here are trailing versions of popular npm, cargo, etc libraries that go through some kind of audit and approval process”. I’m not sure of the logistics of how it would work, but developers ripping random high churn libraries off the internet is completely crazy from a security perspective. But somehow it’s the norm outside of a small subset of massive tech companies. Most big orgs just put in some kind of pass through proxy looking for known signatures and call it a day. I want stripped down functionality, real reviews, and just straight up banned libraries if they can’t find anything that passes.
- FlorianRappl 2y agoJust recently (like 2 months ago) I had the task to evaluate proper OSS replacements for the main charting of a client. So far, they've used a paid solution - but there have been a couple of reasons why the wanted to migrate. Needless to write that eCharts was the clear winner. Not only is it greatly customizable, fully feature complete - it also had similar performance data as their paid solution. And performance matters as their largest chart has around 300k data (we discussed and could maybe be satisfied with 80-100k as well - but for most OSS charting libs even that would be pretty much impossible to render quickly). For everyone who is looking for something super easy and quick it might not be the best solution (personally I like Chart.js in this area the most), but if you want a charting solution that out of the box is fast and comes with everything you might ever need then eCharts is for you.
- pavish 2y agoGlad to see Echarts getting the recognition it deserves. It is arguably the best open-source visualization library out there. Here are some points others haven't mentioned: (a) Uses canvas by default. Faster than any other library I've used. (b) Extremely flexible. Want to write your own widget on top of the graphs (eg., a customized tooltip). Possible! (c) Provides a lot of metadata. Want to get the position of a point in the rendered chart, to use in your code? Entirely possible! (d) Works really well when importing into legacy web apps. They even provide an option to get a customized build on their site. (e) Very good at handling streamed data. The animation is very smooth between data changes. I've been using it for almost 7 years now for various production and personal projects, and it's still my go-to library. Their docs have come a long way since then. They do have long standing bugs that get annoying, e.g, dealing with 0 when using log scales, provided there are workarounds for it. I haven't noticed any blocking bugs for most common usecases.
- pb060 2y ago> Glad to see Echarts getting the recognition it deserves. Why is it so rarely mentioned in chart libraries comparisons? Its not even listed on the Wikipedia page for JavaScript chart libraries. I discovered it by chance through Apache Superset.
- dev_l1x_be 2y agoThere is a super interesting port of ECharts to Rust: https://github.com/yuankunzhang/charming https://github.com/yuankunzhang/charming
- deleted 2y ago[deleted]
- AndyPa32 2y agoThe "Examples" page doesn't work for me. I don't get further than "Line Charts". (Firefox)
- pknerd 2y agowow!! Though it did not seem to have trading related charts like candlesticks and others
- remoroid 2y agoWow what a blast from the past. I used this library many years back when I think it was called Baidu E-Charts. Was a great library back then too. I'm amazed how good its gotten now.
- imcritic 2y agoWhat a beautiful presentation!
- luffy-taro 2y agoI wish it handled time zones properly, but everything else just works. The number of charts it supports is crazy. The second best was Apexcharts. https://echarts.apache.org/examples/en/index.html https://echarts.apache.org/examples/en/index.html
- bArray 2y agoI would love it if was possible to download the rendered chart, ideally headless. In peak traffic I would prefer to switch to a pre-rendered version, have the pre-rendered version available encase of an error (i.e. data retrieval), or for users not using JS. After the most minimal Google-foo, I see echarts-python [1] which has not been updated in 9 years. pyecharts [2] is looking pretty well maintained though. Years ago I tried my hand at writing a simple bar/line plotting filter for Pandoc that embeds itself into documents via an SVG in a URI [3]. If HN is permitting, you can past links like so [4]. I think writing a stand-alone tool to display the data you are interested in is a good idea for anybody. [1] https://github.com/yufeiminds/echarts-python https://github.com/yufeiminds/echarts-python [2] https://github.com/pyecharts/pyecharts/blob/master/README.en.md https://github.com/pyecharts/pyecharts/blob/master/README.en... [3] https://gitlab.com/danbarry16/pandoc-highlight-filter/-/blob/svg_abstract/plott.py?ref_type=heads https://gitlab.com/danbarry16/pandoc-highlight-filter/-/blob... [4] (removed link as it was too long for the comments section)
- johntopia 2y agoNivo seems really nice. I recall that fey.com used it for their charts.
- NoSalt 2y agoThe fact that it seamlessly switches between <CANVAS> and <SVG> is marvelous!
- teddyh 2y agoNo Debian package. Requested since 2022: <https://bugs.debian.org/1014408 https://bugs.debian.org/1014408>
- pabs3 2y agoUnfortunately Debian RFPs generally don't work, unless an existing Debian contributor sees it and also has a need for the project.
- teddyh 2y agoNothing prevents the ECharts project developers themselves to package Echarts and contributing the package to Debian, either by being sponsored by existing Debian Developers, or possibly becoming Debian Maintainers themselves, allowing them to upload a new package at any time without going through anyone else.
- pabs3 2y agoTrue, but it is unlikely they would work on that. Usually upstream developers prefer people to not use distros to get binaries of their code. They already have an npm package and suggest people use it, there isn't much point additional external packaging systems after that. Also, packaging JavaScript/TypeScript stuff for Debian isn't trivial due to the volume of dependency packages that are typically not yet packaged, and other issues. https://wiki.debian.org/Javascript https://wiki.debian.org/Javascript
- didip 2y agoOh, good that it can choose between canvas or svg. https://apache.github.io/echarts-handbook/en/best-practices/canvas-vs-svg/ https://apache.github.io/echarts-handbook/en/best-practices/... Canvas is the only game in town if you have huge amount of datapoints.
- egecant 2y agoThe `echarts4r` [1] R package lets you create ECharts charts directly in R and render them in graphical device, Shiny apps, Rmarkdown or Quarto documents. [1] https://echarts4r.john-coene.com/ https://echarts4r.john-coene.com/
- curl-up 2y agoOver the last 7 years I've built 3 major products that needed charts. Every time I tested most of (at that time) popular solutions. All 3 times eCharts was by far the best option, across all criteria. Incredible library!
- mattsimpson 2y agoHow did I not know about Apache ECharts?!? Thank you HN. This is awesome.
- Jolliness7501 2y agoIt's developed by Tencent developers. Probably if you would like to get chart of China crimes against humanity you would get an error ;-)
- billyvg 2y agoLate to the party here but we (Sentry) have been using ECharts since 2018 (https://github.com/getsentry/sentry/pull/9072 https://github.com/getsentry/sentry/pull/9072) and still holding strong!