Skip to content

Instantly share code, notes, and snippets.

@NPashaP
Created January 1, 2018 22:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NPashaP/bd91bfb60409014f2cee791bdb2c8e58 to your computer and use it in GitHub Desktop.
Save NPashaP/bd91bfb60409014f2cee791bdb2c8e58 to your computer and use it in GitHub Desktop.
Viz - Area - Line - Point - Transition
license: gpl-3.0
<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<style>
.viz-area .area{
fill: #90d7e9;
fill-opacity:0.5;
stroke: none;
}
.viz-line .line{
fill: none;
stroke: #01a9d4;
stroke-width:3px;
}
.viz-point .point{
fill: white;
stroke: #01a9d4;
stroke-width:3px;
}
</style>
<body>
<svg width="960" height="600">
<g transform="translate(50,50)"></g>
</svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="http://vizjs.org/viz.v1.3.0.min.js"></script>
<script>
var area = viz.area()
.data(randomData())
.curve(d3.curveCardinal)
var line = viz.line().data(area.data())
.value(function(d){ return d.value;})
.valueScale(area.valueScale())
.curve(area.curve())
var point = viz.point().data(area.data())
.value(function(d){ return d.value;})
.valueScale(area.valueScale())
.drawPoints(drawPoints)
d3.select("g").call(area).call(line).call(point);
setInterval(update,2000);
function randomData(){
return d3.range(20).map(function(i){ return {key:i, value: Math.random()}; });
}
function drawPoints(){
d3.select(this).append("circle").attr("r",5)
}
function update(){
area.data(randomData())
.keyScale(undefined)
.valueScale(undefined) //reset the yScale so that it will be recomputed.
area.transition();
line.data(area.data()).keyScale(area.keyScale()).valueScale(area.valueScale()).transition();
point.data(area.data()).keyScale(area.keyScale()).valueScale(area.valueScale()).transition();
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment