1 | var fs = require('fs');
|
2 | var d3 = require('d3');
|
3 | var xmldom = require('xmldom');
|
4 |
|
5 | var data = d3.range(10);
|
6 | var max = d3.max(data);
|
7 | var height = 200;
|
8 | var scale = height / max;
|
9 | var scaled_data = data.map(function(d){ return d * scale;});
|
10 | console.log(scaled_data);
|
11 | var svg = d3.select('body')
|
12 | .append('svg').attr({
|
13 | width: '1024px',
|
14 | height: '1024px'
|
15 | })
|
16 | .selectAll('rect')
|
17 | .data(scaled_data)
|
18 | .enter().append('rect')
|
19 | .attr({
|
20 | width: 50,
|
21 | "stroke": "white",
|
22 | "stroke-width":"1",
|
23 | "fill": "blue",
|
24 | height: function(d){ return d },
|
25 | x: function(d, i){ return i * 50 },
|
26 | y: function(d){ return height - d }
|
27 | });
|
28 |
|
29 |
|
30 | var svgGraph = d3.select('svg')
|
31 | .attr('xmlns', 'http://www.w3.org/2000/svg');
|
32 | var svgXML = (new xmldom.XMLSerializer()).serializeToString(svgGraph[0][0]);
|
33 |
|
34 | console.log(svgXML);
|
35 | svgXML = svgXML.toLowerCase();
|
36 | console.log(svgXML);
|
37 |
|
38 | fs.writeFile('graph.svg', svgXML); |
\ | No newline at end of file |