Articles of d3.js

D3 forçar layout – ligando nós por nome em vez de índice

Eu estou tentando vincular d3 nós por um ID em vez de índice (o ID do nó é gerado pelo meu aplicativo). Aqui estão meus nós: “Nodes”: [ { “Id”: “338”, “Name”: “TEST NODE ONE”, “Url”: “http://www.google.com” }, { “Id”: “340”, “Name”: “TEST NODE TWO”, “Url”: “http://www.yahoo.com” }, { “Id”: “341”, “Name”: “TEST NODE THREE”, […]

Substituindo d3.transform em D3 v4

No D3.js v4, o método d3.transform foi removido, sem qualquer sugestão sobre como substituí-lo. Alguém sabe como replace a seguinte instrução D3.js v3? d3.transform(String).translate;

d3 adiciona texto ao círculo

Eu estou tentando adicionar algum texto em círculo. Eu tenho seguido o exemplo de http://mbostock.github.com/d3/tutorial/circle.html, mas não consegui a saída correta. O trecho de código é: var data; var code; d3.json(“/json/trace.json”, function(json) { data = json; console.log(data); // get code for visualization code = data[“code”]; alert(code); var mainSVG = d3.select(“#viz”) .append(“svg”) .attr(“width”, 900) .attr(“height”, 900); […]

Converter uma estrutura de diretórios no sistema de arquivos para JSON com o Node.js

Eu tenho uma estrutura de arquivos como esta: root |_ fruits |___ apple |______images |________ apple001.jpg |________ apple002.jpg |_ animals |___ cat |______images |________ cat001.jpg |________ cat002.jpg Eu gostaria de, usando Javascript e Node.js, ouvir este diretório raiz e todos os subdiretórios e criar um JSON que espelhe essa estrutura de diretório, cada nó contém […]

Existe uma maneira de dizer crossfilter para tratar elementos de matriz como registros separados em vez de tratar matriz inteira como chave única?

Eu tenho o dataset em que alguns dos valores de campo são matrizes e gostaria de usar crossfilter e d3.js ou dc.js para exibir o histograma de quantas vezes cada um desses valores estava presente no dataset. Aqui está um exemplo: var data = [ {“key”:”KEY-1″,”tags”:[“tag1”, “tag2”]}, {“key”:”KEY-2″,”tags”:[“tag2”]}, {“key”:”KEY-3″,”tags”:[“tag3”, “tag1”]}]; var cf = crossfilter(data); var […]

Corrigir a posição do nó no layout D3 Force-Directed

Eu quero que alguns dos nós no meu layout direcionado à força ignorem a força e permaneçam em posições fixas com base no atributo do nó, enquanto ainda podem ser arrastados e exercer repulsão em outros nós e manter suas linhas de link. Eu pensei que seria tão simples como isto: force.on(“tick”, function() { vis.selectAll(“g.node”) […]

Invoque um retorno de chamada no final de uma transição

Eu preciso fazer um método FadeOut (semelhante ao jQuery) usando D3.js. O que eu preciso fazer é definir a opacidade para 0 usando transition() . d3.select(“#myid”).transition().style(“opacity”, “0”); O problema é que eu preciso de um callback para perceber quando a transição terminou. Como posso implementar um retorno de chamada?

Selecionando null: qual é a razão por trás de ‘selectAll (null)’ em D3.js?

Eu vi alguns códigos D3 com um padrão como este para acrescentar elementos: var circles = svg.selectAll(null) .data(data) .enter() .append(“circle”); Eu realmente não entendo esse trecho. Por que selecionar null ? A maneira que eu entendo D3, se alguém está adicionando círculos, deve ser: var circles = svg.selectAll(“circle”) .data(data) .enter() .append(“circle”); Da mesma forma, se […]

Atualizando o elemento Z do índice SVG com D3

O que é uma maneira eficaz de trazer um elemento SVG ao topo da ordem z, usando a biblioteca D3? Meu cenário específico é um gráfico de pizza que destaca (adicionando um stroke ao path ) quando o mouse está sobre uma determinada peça. O bloco de código para gerar meu gráfico está abaixo: svg.selectAll(“path”) […]

O código dentro do retorno de chamada de d3.json () não é executado

Eu estou tentando carregar um arquivo GeoJSON e desenhar alguns charts usando-o como base com o D3 v5 . O problema é que o navegador está pulando tudo o que está dentro da chamada d3.json() . Eu tentei inserir pontos de interrupção para testar, mas o navegador pula sobre eles e não consigo descobrir o […]