For those looking to embed charts and graphs on a website for reporting, what are the best options around today?
Would love to find something as featured and as simple to use as Datatables, for example, that works really quickly and easily for tables and tabular data.
Best ideas?
Easy enough to configure when you get used to it and powerful for complex data.
* Google Charts: https://developers.google.com/chart * Chart.js: https://www.chartjs.org/
React Charts library was nice if i remember correctly
Edit: also uplot by leoniya (did i spell it right) for timeseries
If you want to visualise graphs, I have had good experiences using d3-graphviz, which can consume GraphViz DOT files - DOT is an excellent and well supported DSL for this job.
DOT lets you specify nodes and their edges quite concisely, apply positioning and ranking hints, and the d3 visualiser does a great job usually of laying out the nodes with minimal path crossover. You can then hook into the d3 selections to render however you please, generally in SVG.
A nice thing about having an SVG render is that it's very easy to attach events, and inline SVGs can be styled with CSS. So you could plot e.g. a network of CI tasks and set up a click to take you to a job summary, just like the CircleCI UI. Or visualise step functions, sagas or state machines in similar wise.
There is an actual WASM build of GraphViz compiled from C++ (you can find it on NPM) but the bundle is enormous - over a megabyte of data.
I suspect, however, that what you are really looking for is a charting library. In that case my suggestion is to purchase a license for HiCharts or another commercial product, rather than assemble something yourself through D3.