react lineal card highcharts

lineal - highcharts php



Cómo formatear Highcharts dataLabels puntos decimales (4)

¿Puede por favor ver este ejemplo y saber cómo puedo formatear los dataLabels para que se muestren solo con dos números decimales?

Aquí está el número de formatos que tengo en la serie.

series: [{ name: ''Tokyo'', data: [7.554555, 6.34345559, 9.5555, 14.5555, 18.4333433, 21.5555, 25.2, 26.5333333, 23.33333, 18.23243543, 13.776565669, 9.65454656] }, { name: ''London'', data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] }]

y me gustaría presentarlos como 7.55, 6.34, 9.55. Gracias


En caso de que alguien quiera ir "más allá", muestro datos que pueden ser de 10 ^ 1 a 10 ^ 9, por lo que los convierto y luego muestro la unidad.

Recuerde, Highcarts solo trata con números enteros, por lo tanto, si desea agregar unidades (y no en el YAxis debido a las múltiples unidades), puede ingresarlo en los datos de origen, pero luego debe formatearlos:

column: { dataLabels: { enabled: true, formatter: function () { // Display only values greater than 0. // In other words, the 0 will never be displayed. if (this.y > 0) { if (this.y >= Math.pow(10, 9)) { return Highcharts.numberFormat(this.y /Math.pow(10, 9) , 1) + " mias"; } else if (this.y >= Math.pow(10, 6)) { return Highcharts.numberFormat(this.y /Math.pow(10, 6) , 1) + " mios"; } else { return Highcharts.numberFormat(this.y, 0); } } },

mias: significa "milliards" (traducción al francés de billar) mios: significa "millones" (traducción al francés de millones)


Noté en los comentarios que querías no mostrar ceros finales .

Esta fue la solución más simple que pude reunir:

... dataLabels: { enabled: true, formatter: function () { return parseFloat(this.y.toFixed(2)).toLocaleString(); } } ...

Si no desea que el número termine con un separador de coma (según la configuración regional), elimine el .toLocaleString ().

Nota de inicio: Desafortunadamente, el uso de formato (en lugar de formateador y una función js como lo hacemos anteriormente) se limita a un subconjunto de convenciones de formato flotante de la función de biblioteca de C sprintf, como se indica aquí en el sitio web de highcharts . Esa biblioteca tiene el código g que haría esto automáticamente por nosotros, pero desafortunadamente no está implementado en Highcharts :(, es decir, el formato: ''{point.y:,. 2g}'' no funciona.


Simplemente agregaría la opción de formato a las etiquetas de datos de la siguiente manera:

dataLabels: { enabled: true, format: ''{point.y:,.2f}'' }

Es la forma más sencilla de hacerlo sin tener que definir una función utilizando el formateador.

extra:

La coma después de los dos puntos asegura que un número como 1450.33333 se muestre como 1.450.33, lo que también es bueno.