Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

165
Visualizações
Creación de estadísticas de resumen en D3

Estoy tratando de crear un gráfico D3 que utilizará tanto estadísticas de resumen (mínimo y máximo) como datos no resumidos.

Tengo un CSV que contiene un código de trabajo (que contiene duplicados) y un salario a la media que es un decimal. Quiero calcular el mínimo y el máximo por código de trabajo.

Estoy recibiendo el error grouped is not a function . Estoy tratando de consola. registrar el máximo para el código de trabajo 1000.

 d3.csv("http://127.0.0.1:8887/myData.csv").then(function(data){ var grouped = d3.nest() .key(function(d) { return d.jobCode; }) .rollup(function(v) { return { jobCodeMax: d3.max(v, function(d) { return d.salaryToMedian; }), jobCodeMax: d3.min(v, function(d) { return d.salaryToMedian; }), values: v }; }) .entries(data) .map(function(d) { return { JobCode: d.key, jobCodeMax: d.value.jobCodeMax, jobCodeMin: d.value.jobCodeMin }; }); console.log(grouped(1000).jobCodeMax); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Descargo de responsabilidad: en el momento de escribir este artículo, la versión actual de d3 es la versión 7.6.1.

map devuelve una matriz, pero intenta acceder a ella como una función, es decir, con paréntesis.

Además: d3.nest ha quedado obsoleto en la versión 6 de d3 , que también se indica en los documentos :

Aviso de obsolescencia: use las clases Map, Set y Object integradas de JavaScript en lugar de los métodos correspondientes de d3-collection. Use el grupo y resumen de matriz d3 en lugar del nido de colección d3.

Pero: No hay necesidad de todas esas llamadas. Todo lo que necesita es d3.rollup .

d3.rollup(iterable, reduce, ...keys)

Agrupa y reduce el iterable de valores especificado en un InternMap de clave a valor.

Esto debería funcionar (una vez que haya almacenado sus datos en los data variables):

 // ... get data into variable data ... const keyFn = d => d.jobCode const valueFn = d => d.salaryToMedian const summaryReducer = function(values) { return { key: keyFn(values[0]), // if you want to also store the key in the summary max: d3.max(values, valueFn), min: d3.min(values, valueFn), /* any other summarization you want based on values */ values: values } } const grouped = d3.rollup(data, summaryReducer, keyFn) // all you need is d3.rollup const job1000 = grouped.get(1000)

Creé un ejemplo de patio de recreo aquí en ObeservableHQ .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda