Built with blockbuilder.org
forked from lindep's block: arc with datum
forked from lindep's block: arc with datum
Built with blockbuilder.org
forked from lindep's block: arc with datum
forked from lindep's block: arc with datum
<!DOCTYPE html> | |
<head> | |
<meta charset="utf-8"> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script> | |
<style> | |
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } | |
svg { width: 100%; height: 100%; } | |
</style> | |
</head> | |
<body> | |
<script> | |
var margin = {top: 20, right: 10, bottom: 20, left: 17}; | |
var width = 960 - margin.left - margin.right; | |
var height = 500 - margin.top - margin.bottom; | |
var svg = d3.select("body").append("svg") | |
.attr("width", width + margin.left + margin.right) | |
.attr("height", height + margin.top + margin.bottom); | |
svg.append("g") | |
.attr("class","myclass") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
var x=191,y=157; | |
var rad=39; | |
var angle=31; | |
var data = {x:100,y:100,a:angle} | |
var arc=d3.svg.arc() | |
.innerRadius(0) | |
.outerRadius(rad) | |
.startAngle((angle-22)*(Math.PI/180)) | |
.endAngle((angle+22)*(Math.PI/180)); | |
//console.log(arc.centroid()); | |
var group = d3.select('g.myclass') | |
.append('svg:g') | |
.attr("class","myclassb"); | |
group.append('path') | |
.attr('d',arc) | |
.attr("transform", "translate("+x+","+y+")") | |
.attr('fill','cyan') | |
.attr('strokeWidth',1); | |
var X = arc.centroid()[0] + rad/1.3 * Math.cos((angle-90)*(Math.PI/180)); | |
var Y = arc.centroid()[1] + rad/1.3 * Math.sin((angle-90)*(Math.PI/180)); | |
var t_anchor = angle > 0 && angle < 180 ? "start" : "end"; | |
group.append('svg:text') | |
.text("testss") | |
.attr('x',x) | |
.attr('y',y) | |
.attr("fill","black") | |
.attr('stroke-width',.3) | |
.attr("transform", "translate("+X+","+Y+")") | |
.attr("font-size",14) | |
.attr("text-anchor", t_anchor); | |
</script> | |
</body> | |