xCharts-D3-based JavaScriptChart library code detailed explanation (picture)
xCharts is a JavaScript chart library based on D3. xCharts is very powerful. It not only supports multiple chart types, but also has rich chart theme styles and is very beautiful. In addition, the design of xCharts is very flexible, the configuration is relatively simple, and the loading speed is not bad. It is a JavaScript chart application that is very open and customizable.
is based on JavaScript, so it can be used as long as you have a browser, and the platform compatibility is good.
Open and customizable, so the configuration is quite flexible.
Supports SVG format, so chart data can also be easily exported.
Simple column chart
JavaScript code:
var data = { "xScale": "ordinal", "yScale": "linear", "main": [ { "className": ".pizza", "data": [ { "x": "Pepperoni", "y": 4 }, { "x": "Cheese", "y": 8 } ] } ] }; var myChart = new xChart('bar', data, '#example1');
Rendering :
Linear graph
JavaScript code:
var data = { "xScale": "time", "yScale": "linear", "type": "line", "main": [ { "className": ".pizza", "data": [ { "x": "2012-11-05", "y": 1 }, { "x": "2012-11-06", "y": 6 }, { "x": "2012-11-07", "y": 13 }, { "x": "2012-11-08", "y": -3 }, { "x": "2012-11-09", "y": -4 }, { "x": "2012-11-10", "y": 9 }, { "x": "2012-11-11", "y": 6 } ] } ] }; var opts = { "dataFormatX": function (x) { return d3.time.format('%Y-%m-%d').parse(x); }, "tickFormatX": function (x) { return d3.time.format('%A')(x); } }; var myChart = new xChart('line', data, '#example3', opts);
Rendering:
##AnimationBar chart
JavaScript code:var errorBar = { enter: function (self, storage, className, data, callbacks) { var insertionPoint = xChart.visutils.getInsertionPoint(9), container, // Map each error bar into 3 points, so it's easier to draw as a single path // Converts each point to a triplet with y from (y - e) to (y + e) // It would be better to use the `preUpdateScale` method here, // but for this quick example, we're taking a shortcut eData = data.map(function (d) { d.data = d.data.map(function (d) { return [{x: d.x, y: d.y - d.e}, {x: d.x, y: d.y}, {x: d.x, y: d.y + d.e}]; }); return d; }), paths; // It's always a good idea to create containers for sets container = self._g.selectAll('.errorLine' + className)
xChart.setVis('error', errorBar);
var data = { "xScale": "ordinal", "yScale": "linear", "main": [ { "className": ".errorExample", "data": [ { "x": "Ponies", "y": 12 }, { "x": "Unicorns", "y": 23 }, { "x": "Trolls", "y": 1 } ] } ], "comp": [ { "type": "error", "className": ".comp.errorBar", "data": [ { "x": "Ponies", "y": 12, "e": 5 }, { "x": "Unicorns", "y": 23, "e": 2 }, { "x": "Trolls", "y": 1, "e": 1 } ] } ] };
The above is the detailed content of xCharts-D3-based JavaScript chart library code detailed explanation (picture). For more information, please follow other related articles on the PHP Chinese website!