¿Cómo agrego etiquetas de texto a los ejes en d3?
Por ejemplo, tengo un gráfico lineal simple con un eje xey.
En mi eje x, tengo marcas del 1 al 10. Quiero que la palabra "días" aparezca debajo para que la gente sepa que el eje x está contando días.
De manera similar, en el eje y, tengo los números del 1 al 10 como garrapatas y quiero que las palabras "comidos bocadillos" aparezcan de lado.
¿Existe una forma sencilla de hacer esto?
fuente
.attr("transform", "rotate(-90)")
hace que todo el sistema coordinado gire. Por lo tanto, si está posicionando con "x" e "y", debe cambiar las posiciones de lo que esperaba.En la nueva versión de D3js (versión 3 en adelante), cuando crea un eje de gráfico a través de la
d3.svg.axis()
función, tiene acceso a dos métodos llamadostickValues
ytickFormat
que están integrados dentro de la función para que pueda especificar para qué valores necesita los ticks y en qué formato que desea que aparezca el texto:fuente
Si quieres la etiqueta del eje y en el medio del eje y como hice yo:
-50
)chartHeight / 2
)Muestra de código:
Esto evita la rotación de todo el sistema de coordenadas como se menciona en lubar anteriormente.
fuente
Si trabaja en d3.v4, como se sugiere, puede usar esta instancia que ofrece todo lo que necesita.
Es posible que desee reemplazar los datos del eje X por sus "días", pero recuerde analizar los valores de cadena correctamente y no aplicar concatenar.
¿parseTime también podría hacer el truco para los días escalando con un formato de fecha?
jugar con css / js global
fuente
D3 proporciona un conjunto de componentes de nivel bastante bajo que puede utilizar para ensamblar gráficos. Se le proporcionan los bloques de construcción, un componente de eje, unión de datos, selección y SVG. ¡Es tu trabajo juntarlos para formar un gráfico!
Si desea un gráfico convencional, es decir, un par de ejes, etiquetas de eje, un título de gráfico y un área de trazado, ¿por qué no echar un vistazo a d3fc ? es un conjunto de código abierto de componentes D3 de más alto nivel. Incluye un componente de gráfico cartesiano que podría ser lo que necesita:
Puede ver un ejemplo más completo aquí: https://d3fc.io/examples/simple/index.html
fuente
o
fuente