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

138
Visualizações
Gráfico lineal de la serie dc.js una línea por año

Hola, uso este código para obtener mi línea con un punto para cada mes.

Ahora me gustaría obtener automáticamente una serie para cada año. ¿Cuál es la mejor manera de hacerlo?

 function Dimension() { return Data.ndx.dimension(function (d) { return moment.localeData()._months[d["DATE"].getMonth()]; }); } function Group(thisDim) { var thisVal = thisDim.group().reduceSum(function (d) { return d["VALUE"]; }); return thisVal; } var thisDim = Dimension(); var thisVal = Group(); chartObject.dimension(thisDim).group(thisVal) .title(function (d) { return d.key; }) .label(function (d) { return d.key;}) .margins({top: 10, right: 10, bottom: 30, left: 70}) .elasticY(true) ; chartObject.x(d3.scaleBand().range([0,11])).xUnits(dc.units.ordinal); chartObject.xAxis().tickFormat(function(d) { return moment.localeData()._months[d]; });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Probablemente lo más fácil de hacer es usar el gráfico de series . El gráfico de serie es un atajo para un gráfico compuesto que divide los datos en función de partes de la clave y genera automáticamente un gráfico (línea) para cada valor de acceso de serie.

Requerirá que use una "multiclave" para su dimensión, con año y mes. Utilizará seriesAccessor y keyAccessor para indicarle a dc.js cómo desarmar las teclas múltiples.

Por cierto, la forma en que manejas los meses es más complicada de lo que debería ser. Ahora mismo estás creando la dimensión con nombres de meses como claves.

 moment.localeData()._months[d["DATE"].getMonth()]

Luego, su escala vuelve a convertir esos nombres en números:

 .x(d3.scaleBand().range([0,11]))

En su lugar, sugeriría usar el número de año y mes para su tecla múltiple:

 return Data.ndx.dimension(d => ([d.DATE.getYear(), d.DATE.getMonth()]));

Luego, el resto debe seguir el ejemplo vinculado anteriormente ... pero comente si tiene problemas, ya que estoy omitiendo algunos detalles.

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