UNPKG

1.18 kBJavaScriptView Raw
1var fs = require('fs');
2var d3 = require('d3');
3var xmldom = require('xmldom');
4
5var data = d3.range(10);
6var max = d3.max(data);
7var height = 200;
8var scale = height / max;
9var scaled_data = data.map(function(d){ return d * scale;});
10console.log(scaled_data);
11var 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// get a reference to our SVG object and add the SVG NS
30var svgGraph = d3.select('svg')
31 .attr('xmlns', 'http://www.w3.org/2000/svg');
32var svgXML = (new xmldom.XMLSerializer()).serializeToString(svgGraph[0][0]);
33
34console.log(svgXML);
35svgXML = svgXML.toLowerCase();
36console.log(svgXML);
37
38fs.writeFile('graph.svg', svgXML);
\No newline at end of file