HTML
<body><script>
var data = [{ date:"1988-01-01",value:12681 },
{ date:"1988-01-02",value:13264 },
{ date:"1988-01-03",value:13953 },
{ date:"1988-01-04",value:13921 },
{ date:"1988-01-05",value:13932 },
{ date:"1988-01-06",value:13157 },
{ date:"1988-01-07",value:11159 },
{ date:"1988-01-08",value:11631 },
{ date:"1988-01-09",value:12045 },
{ date:"1988-01-10",value:13160 },
{ date:"1988-01-11",value:14240 },
{ date:"1988-01-12",value:14302 },
{ date:"1988-01-13",value:14353 },
{ date:"1988-01-14",value:14451 },
{ date:"1988-01-15",value:14496 },
{ date:"1988-01-16",value:13041 },
{ date:"1988-01-17",value:13337 },
{ date:"1988-01-18",value:12396 },
{ date:"1988-01-19",value:13721 },
{ date:"1988-01-20",value:13745 },
{ date:"1988-01-21",value:14170 },
{ date:"1988-01-22",value:14570 },
{ date:"1988-01-23",value:13059 },
{ date:"1988-01-24",value:13858 },
{ date:"1988-01-25",value:13947 },
{ date:"1988-01-26",value:14188 },
{ date:"1988-01-27",value:14493 },
{ date:"1988-01-28",value:14445 },
{ date:"1988-01-29",value:14589 },
{ date:"1988-01-30",value:13125 },
{ date:"1988-01-31",value:13766 },
{ date:"1988-02-01",value:14083 },
{ date:"1988-02-02",value:14175 },
{ date:"1988-02-03",value:13931 },
{ date:"1988-02-04",value:13677 },
{ date:"1988-02-05",value:14039 },
{ date:"1988-02-06",value:12703 },
{ date:"1988-02-07",value:13584 },
{ date:"1988-02-08",value:14281 },
{ date:"1988-02-09",value:14432 },
{ date:"1988-02-10",value:13875 },
{ date:"1988-02-11",value:13188 },
{ date:"1988-02-12",value:13403 },
{ date:"1988-02-13",value:12862 },
{ date:"1988-02-14",value:13446 },
{ date:"1988-02-15",value:14315 },
{ date:"1988-02-16",value:14471 },
{ date:"1988-02-17",value:14646 },
{ date:"1988-02-18",value:14412 },
{ date:"1988-02-19",value:14319 },
{ date:"1988-02-20",value:12963 },
{ date:"1988-02-21",value:13789 },
{ date:"1988-02-22",value:14512 },
{ date:"1988-02-23",value:14521 },
{ date:"1988-02-24",value:14634 },
{ date:"1988-02-25",value:14692 },
{...
JavaScript
var margin = {top: 20, right: 60, bottom: 30, left: 20},
width = 460 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var parseDate = d3.time.format("%Y-%m-%d").parse,
formatDate = d3.time.format("%Y");
var x = d3.time.scale()
.range([0, width]);
var y = d3.scale.linear()
.range([height, 0]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickSize(-height, 0)
.tickPadding(6);
var yAxis = d3.svg.axis()
.scale(y)
.orient("right")
.tickSize(-width)
.tickPadding(6);
var area = d3.svg.area()
.interpolate("step-after")
.x(function(d) { return x(d.date); })
.y0(y(0))
.y1(function(d) { return y(d.value); });
var line = d3.svg.line()
.interpolate("step-after")
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.value); });
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var zoom = d3.behavior.zoom()
.on("zoom", draw);
var gradient = svg.append("defs").append("linearGradient")
.attr("id", "gradient")
.attr("x2", "0%")
.attr("y2", "100%");
gradient.append("stop")
.attr("offset", "0%")
.attr("stop-color", "#fff")
.attr("stop-opacity", .5);
gradient.append("stop")
.attr("offset", "100%")
.attr("stop-color", "#999")
.attr("stop-opacity", 1);
svg.append("clipPath")
.attr("id", "clip")
.append("rect")
.attr("x", x(0))
.attr("y", y(1))
.attr("width", x(1) - x(0))
.attr("height", y(0) - y(1));
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + width + ",0)");
svg.append("path")
.attr("class", "area")
.attr("clip-path", "url(#clip)")
.style("fill", "url(#gradient)");
svg.append("g")
.attr("class", "x axis")
.attr("transform",...