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

181
Visualizações
Las etiquetas añadidas no aparecen en el gráfico d3.js

Aquí está el fragmento de código con el que tengo problemas:

 addLabels(){ let sec = this.plot.selectAll(".line") .data(this.keymap) .enter().append("g") .attr("class", "stock"); sec.join("text") .datum(d => ({ name: d.name, value: d.values[d.values.length-1] })) .attr("transform", d => {"translate(" + this.xScale(d.value.date) + "," + this.yScale(d.value.key) + ")"} ) .attr("x", 7) .attr("dy", ".3em") .style("fill", "black") .style('font-family', 'Helvetica') .style('font-size', '11px') .style('letter-spacing', '1px') .style('text-transform', 'uppercase') .text(function(d){ return d.name; }); }

Esto es parte de una clase Chart . Cuando hago console.log sec , obtengo un objeto de selección con 4 grupos, 2 de los cuales están vacíos (los otros dos son mis objetos de eje). Mi gráfico parece estar bien y se llama a addLabels() después de que se crea el gráfico, y los elementos de línea se clasifican correctamente. Si el problema no es evidente y desea el resto del código, con gusto lo pegaré. Gracias.

Editar: pensé que tal vez el problema podría estar en la cuarta línea (enter().append("g") , así que usé join("g") en su lugar. Este es el error que recibí:

 d3.v6.js:1712 Uncaught (in promise) TypeError: node.compareDocumentPosition is not a function at Selection$1.selection_order [as order] (d3.v6.js:1712) at Selection$1.selection_join [as join] (d3.v6.js:1686) at Chart.addLabels (chart.js:122) at Chart.draw (chart.js:31) at Chart.setData (chart.js:160) at init (plot.js:4)

Tal vez esto proporcione más información.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Fijado:

 let sec = this.plot.selectAll(".line") .data(this.keymap) .enter().append("g") .attr("class", "stock"); sec.append("text") //literally just append instead of join lol .datum(d => ({ name: d.name, value: d.values[d.values.length-1] })) .attr("transform", d => "translate(" + this.xScale(d.value.date) + "," + this.yScale(d.value.key) + ")" ) .attr("x", 7) .attr("dy", ".3em") .style("fill", "black") .style('font-family', 'Helvetica') .style('font-size', '11px') .style('letter-spacing', '1px') .style('text-transform', 'uppercase') .text(function(d){ return d.name; });
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