Qual é a diferença entre os atributos x e dx de svg (ou y e dy)? Quando seria o momento adequado para usar o atributo de deslocamento do eixo (dx) em vez do atributo de localização (x)?
Por exemplo, tenho notado muitos exemplos de d3 fazendo algo assim
chart.append("text")
.attr("x", 0)
.attr("y", 0)
.attr("dy", -3)
.text("I am a label")
Qual é a vantagem ou o raciocínio para definir y e dy quando o seguinte parece fazer a mesma coisa?
chart.append("text")
.attr("x", 0)
.attr("y", -3)
.text("I am a label")
d3.js
, é usado para combinar diferentes unidades. Como ox="3" dx="0.5em"
que equivale a 3 pixels + meia linha de texto.Para aumentar a resposta de Scott, dy usado com em (unidades de tamanho de fonte) é muito útil para alinhar texto verticalmente em relação à coordenada y absoluta. Isso é abordado no exemplo de elemento de texto MDN dy .
Usar dy = 0,35em pode ajudar a centralizar o texto verticalmente, independentemente do tamanho da fonte. Também ajuda se você quiser girar o centro do texto em torno de um ponto descrito por suas coordenadas absolutas.
Veja no Codepen
Se você não incluir "dy = 0.35em", as palavras giram em torno da parte inferior do texto e depois de 180 alinharão abaixo de onde estavam antes da rotação. Incluir "dy = 0.35em" gira-os em torno do centro do texto.
Observe que dy não pode ser definido usando CSS.
fonte