1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <body> <svg></svg> <script> var margin = {top: 80, bottom: 60, left: 70, right: 60}; var dataset = [21893095,13866009,74610235,34915616,24049155,42591407,24073453,31850088,24870895,84748016,64567588, 61027171,41540086,45188635,101527453,99365519,57752557,66444864,126012510,10081232,32054159,38562148,83674866, 47209277,39528999,25019831,5923957,7202654,25823445]; var datax = ['北京','天津','河北','山西','内蒙古','辽宁','吉林','黑龙江','上海','江苏','浙江','安徽','福建', '江西','山东','河南','湖北','湖南','广东','海南','重庆','贵州','四川','云南','陕西','甘肃','青海','宁夏','新疆']; var svg = d3.select("svg") .attr("width", window.innerWidth) .attr("height", window.innerHeight); var g = svg.append("g") .attr("transform", "translate(" + margin.top + "," + margin.left + ")"); var height = 0.8 * window.innerHeight, width = 0.9 * window.innerWidth; var rectWidth = width / dataset.length; var scaleLinear = d3.scaleLinear() .domain([0, d3.max(dataset)]) .range([0, height]); g.selectAll("rect") .data(dataset) .enter() .append("rect") .attr("x", function (d, i) { return i * rectWidth; }) .attr("y", function (d, i){ return height - scaleLinear(d); }) .attr("width", rectWidth * 0.9) .attr("height", function (d) { return scaleLinear(d); }) .attr("fill", "blue"); var yScale = d3.scaleLinear() .domain([0, d3.max(dataset)]) .range([height, 0]); var yAxis = d3.axisLeft(yScale) .ticks(10); var lineX = 0, lineY = margin.top; g.append("g") .attr("transform", "translate(" + lineX + "," + 0 + ")") .call(yAxis); </script> </body>
|