morrisjs / morris.js

Pretty time-series line graphs
http://morrisjs.github.com/morris.js/
6.92k stars 1.23k forks source link

Morris.js with format number in brazilian currency #801

Open danilorago opened 3 years ago

danilorago commented 3 years ago

I'm trying to use Morris to create a graph, and it's almost everything working. My issue is that I have to use the brazilian format with number. Should be "1.234,00" instead "1,234.00". Someone knows how to change? I tried a lot of times but I couldn't find a way... I tried to use the function format_number with PHP, but when I change to the brazilian format the graph don't open.

<script>
Morris.Bar({
    element: 'mr-Volumetria',
    data: [
        {x: '12/2019', y: 60.72},
        {x: '9/2020', y: 249.46},
        {x: '10/2020', y: 275.54},
        {x: '11/2020', y: 3501.50},
        {x: '12/2020', y: 3739.24}
    ],
    xkey: 'x',
    ykeys: ['y'],
    labels: ['Valor do mês'],
    barColors: function (row, series, type) {
        if(type === 'bar'){
            var red = Math.ceil(255 * row.y / this.ymax);
            return 'rgb('+red+',0,0)';
        }else{
            return '#000000';
        }
    }
});
</script>
pierresh commented 3 years ago

Hello,

You can use the function yLabelFormat()to solve this problem. The value provided to Morris would be the standard values as shown in your example, but then the function yLabelFormat() could format the value in the way you want. You can read more about this function in the help: http://morrisjs.github.io/morris.js/lines.html