Highcharts vs ZIM
When comparing Highcharts vs ZIM, the Slant community recommends Highcharts for most people. In the question“What are the best JavaScript drawing libraries?” Highcharts is ranked 18th while ZIM is ranked 29th. The most important reason people chose Highcharts is:
Highcharts provides 20 different types of [charts](http://www.highcharts.com/docs/chart-and-series-types/chart-types) to choose from, and they make it simple to [combine](http://www.highcharts.com/docs/chart-and-series-types/combining-chart-types) chart types.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Good documentation
Very handy with examples and explanations.
Pro Excellent browser support
Highcharts supports all modern browsers (including IE6 and up), iOS and Android.
Pro Large and active community
Highcharts has a large and supportive community, resulting in a fast response from both stack overflow and the Highcharts forum.
Pro Lots of good examples
The site has a selection of good examples that will help you get started quickly.
Pro Supports multiple Y axes
Important for trend correlation, eg. comparing number of clicks to sale amounts. Not same scales / units.
Pro Library to support Microsoft .NET
Compatable with .NET framework 4+, can develop graphs from server side for ASP .NETand ASP .NET MVC applications.
Pro ZIM lets you write less code
Here is a chart of examples showing ZIM at 37% less code the developer writes when compared to other frameworks such as PixiJS, Flutter, CreateJS, PaperJS, P5js, Phaser and the DOM.
Pro ZIM supports chaining
It is quite common in ZIM to not even store an object in a variable as chaining is available for almost all methods and there are short chainable methods for most properties.
new Circle().center().drag();
new Rectangle()
.loc(100,100)
.alp(0) // alpha
.animate({x:200, alpha:1}, .5);
Pro ZIM has dynamic parameters
new Tile(new Circle(20, series(red, blue, green), 10, 10).center();
// tiles 10x10 circles with colors is series of red, blue or green
new Emitter([new Circle(), new Rectangle()]).center();
// emits random circles and rectangles
interval({min:1, max:3}, ()=>{});
// each interval is between 1 and 3 seconds
So passing in a series lets you pick in order, passing in an array lets you pick randomly, passing in a min/max range picks from the range, passing in a function picks the result of the function. These can be applied to all styles too.
Pro ZIM has Style on the Canvas
Style = {
color:red,
Button:{
color:blue;
}
}
new Circle().center(); // red
new Button().center(); // blue
Pro The ZIM DUO technique of providing regular parameters or a configuration object literal is very handy.
For instance:
new Rectangle(100,100,undefined,undefined,undefined,20).center();
or
new Rectangle({width:100, height:100, corner:20}).center();
Cons
Con Commercial
Highcharts is not free for commercial projects, with a starting price of US$590 for Single Developer + Maintenance & Support
Con The examples are not that great
For instance, example's JsFiddle may get stalled when loading.