D3.js 그래프의 연속 그리기
7501 단어 d3.js
주기적으로 타이머를 시작하고 배열에 난수를 추가하여 그래프를 다시 그립니다.
배열의 크기가 상한에 도달했을 때, 선두의 배열을 삭제합니다.
sample.html
<html>
<head>
<meta charset = "utf-8">
<title>D3.js</title>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<div id="d3graph" style="border:1px solid #ccc; margin-bottom:10px"></div>
<script type="text/javascript">
var stage;
$(document).ready(function() {
stage = d3.select("#d3graph").append("svg:svg").attr("width", $("#d3graph").width()).attr("height", 300);
setInterval("update()",100);
});
var colors = d3.scale.category10();
var d3Line = d3.svg.line()
.x(function(d,i){return i * 10})
.y(function(d,i){return d});
var points = new Array();
function update() {
points.push(Math.random() * 100 + 100);
if(points.length > $("#d3graph").width()/10) {
points.shift();
}
// 削除する
stage.selectAll("path").remove();
// 描画する
stage.append("path")
.attr("d", d3Line(points))
.attr("stroke", colors(0))
.attr("fill", "none")
.attr("opacity", 1);
}
</script>
</body>
</html>
WebSocket과 결합하면 센서 정보를 실시간으로 그릴 수 있습니다.
Reference
이 문제에 관하여(D3.js 그래프의 연속 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/arthur87/items/67cd35023ae275b5612c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)