d3 사용 / 툴팁 / 그래프 툴팁 그리기/ 차트 / 챠트 라이브러리 / chart library
![](data:image/png;base64,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)
codes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="https://unpkg.com/d3@6.7.0/dist/d3.min.js"></script>
<style type="text/css">
.tooltip {
position: absolute;
text-align: center;
padding: .2rem;
background: #313639;
color: #f9f9f9;
border: 0px;
border-radius: 8px;
pointer-events: none;
font-size: .7rem;
}
</style>
</head>
<body>
<script type="text/javascript">
// DOM ready
document.addEventListener('DOMContentLoaded', function() {
var data = [4, 8, 15, 16, 23, 42];
var x = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([0, 420]);
var tooltip = d3.select("body")
.append("div")
.attr('class', 'tooltip')
.style("opacity", 0);
d3.select("body")
.selectAll("div")
.data(data)
.enter().append("div")
.style('border', '1px solid black')
.style("width", function(data) {
return x(data) + "px";
})
.text(function(data) {
return data;
})
.on("mouseover", function(evt, i){
// 이것으로 div 에 hover 될 때 동작을 변경시킬 수 있다.
d3.select(this).transition()
.duration(100)
.attr("r", 7);
// 툴팁이 보이게 만들어 준다.
tooltip.transition()
.duration(100)
.style("opacity", 1)
.text(evt.x);
})
.on("mousemove", function(evt){
const target = event.currentTarget
return tooltip.style("top", (evt.y-10)+"px").style("left",(evt.x+10)+"px");
})
.on("mouseout", function(){
d3.select(this).transition()
.duration(200)
.attr("r", 5);
tooltip.transition()
.duration(200)
.style("opacity", 0);
});
});
</script>
</body>
</html>
See also
- 쿠…sal: [컴] band-scale 에서 해당하는 x좌표의 data 를 가져오는 법
- 쿠...sal: [컴][자바스크립트] d3 cheat sheet
- 쿠...sal: [컴][웹] 괜찮은 chart library
- Awesome dataviz tools by Cube.js : 각종 차트 라이브러리 를 알려준다.
Reference
댓글 없음:
댓글 쓰기