2012-06-06 9 views
17

Soy nuevo en D3 y acabo de tener una pregunta rápida sobre las etiquetas de tic en los gráficos de líneas hechos con D3. Estoy usando d3.svg.axis.scale(). TickSize(). TickSubdivide() para generar mis marcas.Ocultar etiquetas de tilde en D3 en gráfico de línea

¿Hay alguna manera de ocultarlos o cambiar su valor? Por ejemplo, tengo un gráfico de líneas donde las etiquetas de ticks son los intervalos (1, 2, 3, etc.) y me gustaría cambiarlos a cadenas como ('Jan', 'Feb', 'Mar', 'Apr ', etc.). ¿Es eso posible?

Gracias!

Respuesta

7

Sí, es posible generar diferentes formatos para sus tics. Puede encontrar algunos detalles aquí: https://github.com/mbostock/d3/wiki/SVG-Axes#wiki-tickFormat. Lamentablemente, no todos los formatos están actualmente documentados, por lo que es posible que desee echar un vistazo al código d3 para ese método. Si tiene tanto ejeX y eje Y se puede hacer algo como:

myGraph.yAxis.tickFormat(d3.format(',.2%')); 

también echar un vistazo a la biblioteca de gráficos de Bob Monteverde: https://github.com/novus/nvd3 (sobre todo en la carpeta fuentes, en los componentes de eje), si desea ver un montón de trucos relacionados con los componentes del eje y el formato del tic del eje.

Si, por otro lado, no desea que se muestren las marcas, entonces creo que puede crear un componente de eje sin marcas (no lo intenté, difícil), pero no veo el sentido de hacerlo cuando tiene formateadores personalizados y puede hacer prácticamente cualquier cosa que quiera con los tics.

¡Un cordial saludo!

22

Puede ocultar el formato de señal de este modo:

myGraph.yAxis.tickFormat(function (d) { return ''; }); 
+3

'.tickFormat ('')' funciona tan bien actualmente. – jibiel

+0

Pero '.tickFormat ('')' da errores cuando el mouse se desplaza sobre el gráfico – Dinesh

+0

Para d3 v4 puede hacer algo similar: 'd3.axisBottom (xScale) .tickFormat ((d) => '') .tickSize (0) ' –

Cuestiones relacionadas