source: Dev/trunk/d3/examples/area/area.html @ 76

Last change on this file since 76 was 76, checked in by fpvanagthoven, 14 years ago

d3

File size: 2.2 KB
Line 
1<!DOCTYPE html>
2<html>
3  <head>
4    <title>Area Chart</title>
5    <script type="text/javascript" src="../../d3.js"></script>
6    <style type="text/css">
7
8body {
9  font: 10px sans-serif;
10}
11
12.rule line {
13  stroke: #eee;
14  shape-rendering: crispEdges;
15}
16
17.rule line.axis {
18  stroke: #000;
19}
20
21.area {
22  fill: lightsteelblue;
23}
24
25.line, circle.area {
26  fill: none;
27  stroke: steelblue;
28  stroke-width: 1.5px;
29}
30
31circle.area {
32  fill: #fff;
33}
34
35    </style>
36  </head>
37  <body>
38    <script type="text/javascript">
39
40var data = d3.range(20).map(function(i) {
41  return {x: i / 19, y: (Math.sin(i / 3) + 1) / 2};
42});
43
44var w = 450,
45    h = 275,
46    p = 20,
47    x = d3.scale.linear().domain([0, 1]).range([0, w]),
48    y = d3.scale.linear().domain([0, 1]).range([h, 0]);
49
50var vis = d3.select("body")
51  .append("svg:svg")
52    .data([data])
53    .attr("width", w + p * 2)
54    .attr("height", h + p * 2)
55  .append("svg:g")
56    .attr("transform", "translate(" + p + "," + p + ")");
57
58var rules = vis.selectAll("g.rule")
59    .data(x.ticks(10))
60  .enter().append("svg:g")
61    .attr("class", "rule");
62
63rules.append("svg:line")
64    .attr("x1", x)
65    .attr("x2", x)
66    .attr("y1", 0)
67    .attr("y2", h - 1);
68
69rules.append("svg:line")
70    .attr("class", function(d) { return d ? null : "axis"; })
71    .attr("y1", y)
72    .attr("y2", y)
73    .attr("x1", 0)
74    .attr("x2", w + 1);
75
76rules.append("svg:text")
77    .attr("x", x)
78    .attr("y", h + 3)
79    .attr("dy", ".71em")
80    .attr("text-anchor", "middle")
81    .text(x.tickFormat(10));
82
83rules.append("svg:text")
84    .attr("y", y)
85    .attr("x", -3)
86    .attr("dy", ".35em")
87    .attr("text-anchor", "end")
88    .text(y.tickFormat(10));
89
90vis.append("svg:path")
91    .attr("class", "area")
92    .attr("d", d3.svg.area()
93    .x(function(d) { return x(d.x); })
94    .y0(h - 1)
95    .y1(function(d) { return y(d.y); }));
96
97vis.append("svg:path")
98    .attr("class", "line")
99    .attr("d", d3.svg.line()
100    .x(function(d) { return x(d.x); })
101    .y(function(d) { return y(d.y); }));
102
103vis.selectAll("circle.area")
104    .data(data)
105  .enter().append("svg:circle")
106    .attr("class", "area")
107    .attr("cx", function(d) { return x(d.x); })
108    .attr("cy", function(d) { return y(d.y); })
109    .attr("r", 3.5);
110
111    </script>
112  </body>
113</html>
Note: See TracBrowser for help on using the repository browser.