Estoy usando Chart.js para dibujar un diagrama de barras simple y necesito formatear su eje Y como
123456.05 a 123456,05 $
No entiendo como usar scaleLabel : "<%=value%>"
Vi a alguien apuntando a " JS Micro-Templating ",
pero no tengo ni idea de cómo usar eso con nuestra scaleLabel
opción.
¿Alguien sabe cómo formatear este eje Y, y quizás darme un ejemplo?
string-formatting
chart.js
Pierre de LESPINAY
fuente
fuente
Respuestas:
Tuve el mismo problema, creo que en Chart.js 2.xx el enfoque es ligeramente diferente como a continuación.
Más en detalles
fuente
Una característica no documentada de la biblioteca ChartJS es que si pasa una función en lugar de una cadena, usará su función para representar el scaleLabel del eje y.
Entonces, mientras
"<%= Number(value).toFixed(2).replace('.',',') + ' $' %>"
funciona, también puedes hacer:scaleLabel: function (valuePayload) { return Number(valuePayload.value).toFixed(2).replace('.',',') + '$'; }
Si estás haciendo algo remotamente complicado, te recomiendo que lo hagas.
fuente
scaleLabel : "<%= Number(value).toFixed(2).replace('.', ',') + ' $'%>"
fuente
Como dijo Nevercom, scaleLable debería contener javascript, por lo que para manipular el valor y, simplemente aplique el formato requerido.
Tenga en cuenta que el valor es una cadena.
var options = { scaleLabel : "<%= value + ' + two = ' + (Number(value) + 2) %>" };
ejemplo de jsFiddle
si desea establecer una escala manual y puede usar scaleOverride
var options = { scaleLabel : "<%= value + ' + two = ' + (Number(value) + 2) %>", scaleOverride: true, scaleSteps: 10, scaleStepWidth: 10, scaleStartValue: 0 };
ejemplo de jsFiddle
fuente
Chart.js 2.XX
Sé que esta publicación es antigua. Pero si alguien está buscando una solución más flexible, aquí está
'hola' es hindi. Verifique aquí el argumento de otras configuraciones regionales
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation#locales_argument
para obtener más símbolos de moneda
https://www.currency-iso.org/en/home/tables/table-a1.html
fuente
aquí puede encontrar un buen ejemplo de cómo formatear el valor del eje Y.
Además, puede usar lo
scaleLabel : "<%=value%>"
que mencionó, básicamente significa que todo entre las etiquetas<%=
y%>
se tratará como código javascript (es decir, puede usarif
declaraciones ...)fuente