2012-07-25 26 views
18

Utilizando el gráfico de áreas apiladas como se ve en este ejemplo http://nvd3.com/ghpages/stackedArea.htmld3.js & nvd3.js eje y la etiqueta de precisión de formato

Tratando de formato a las etiquetas señalizadoras eje y, y las etiquetas de información sobre herramientas a ser números enteros en vez de los flotadores . Intentado cambiar el código de seguimiento de

chart.yAxis 
     .axisLabel('Users') 
     .tickFormat(d3.format(',.2f')); 

a

chart.yAxis 
     .axisLabel('Users') 
     .tickFormat(d3.format(',.0d')); 

Precision se mantiene sin cambios (aún muestra valores al lugar de las centésimas). He seguido la Wiki de Github en vano https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

Cualquier sugerencia o sugerencia será muy apreciada.

Respuesta

22

Parece this isn't supported by nvd3 en este momento. Ver el ofensivo line.

Además, su especificación de formato no es del todo correcta. Como se menciona en la documentación, "d" ignora valores no enteros. Así que es probable que desee ",.0f" lugar, lo que significa:

  • ,: utilizar comas para separar los millares.
  • .0: precisión de cero (el significado exacto de esta depende de qué tipo de está en uso).
  • f: tipo; en este caso, Number.toFixed. Esto significa que aparece un número fijo de dígitos (precisión) después del punto decimal, y el número se redondea si es necesario.
+0

¡Gracias por la respuesta y el resumen del formato! – Viet

+2

Si otras personas lo encuentran útil. He hecho un pequeño tutorial sobre el formateador d3 aquí con ejemplos: http://koaning.github.io/html/d3format.html – cantdutchthis

4

El método .tickFormat en el método .yAxis no lo actualiza correctamente. Este es el trabajo que he usado:

 chart.yAxisTickFormat(d3.format(',.0d')); 
4

este puede formatear el texto de la etiqueta de float a entero.

de gráfico circular:

chart.pie.valueFormat(d3.format(',.0d'));

de gráfico de líneas:

chart.yAxisTickFormat(d3.format(',.0d')); 
1

He tratado de la misma familia

.axisLabel('%').tickFormat(function(d) { return parseFloat(d).toFixed(1) + "%"; }); 

Su trabajo para me.i Obtención de resultados con decimales y porcentaje