Estoy usando la biblioteca javascript d3.js (http://d3js.org/) para crear visualizaciones de datos de lienzo. Estoy intentando hacer un arco, pero no estoy aceptando los parámetros de datos de mi matriz. ¿Alguien sabe lo que estoy haciendo mal? Este es mi código:haciendo un arco en d3.js
var chartConfig = { "canvasSize" : 800 }
var radius = chartConfig.canvasSize/2;
var pi = Math.PI;
var vis = d3.select("#chart").append("svg")
.attr("width", radius * 2)
.attr("height", radius * 2)
.append("g")
.attr("transform", "translate(" + radius + "," + radius + ")");
var arcData = [
{aS: 0, aE: 45,rI:radius/2,rO:radius}
];
var arc = vis.selectAll("arc").data(arcData).enter().append("arc");
arc.attr("innerRadius", function(d){d.rI}).attr("outerRadius",function(d){d.rO}).attr("class","arc");
function degToRad(degrees){
return degrees * (pi/180);
}
Esto funciona para devolver el valor correcto de la matriz arcData, pero en realidad no dibuja el arco en la pantalla. ¿Qué falta? He adjuntado una captura de pantalla del árbol DOM - el nodo de arco está allí, pero no aparece nada. – mheavers
Disculpa por eso, acabo de ver el problema inmediato de que no devolviste valores. Completamente perdido la parte que intentabas crear un elemento 'arco' He actualizado mi respuesta con un ejemplo de creación de un arco. – Bill
FYI: d3.svg.arc() ha cambiado a d3.arc() – luQ