He construido un gráfico usando chartjs. Estoy tratando de eliminar el valor de los datos que es cero del gráfico. Escribí una función para mostrar solo el valor que no es cero, pero no parece funcionar. ¿Alguien puede ayudar?

A continuación se muestra mi Javascript

var ctx = document.getElementById('myChart2').getContext('2d');
            var myChart = new Chart(ctx, {
                type:<?php echo $chartype; ?>,
                data : {
                  labels: [<?php echo $datelist_2; ?>], <!--label name->
                  datasets: [
                      { 
                        label: "Sales",
                        data: [<?php echo $atlasdata2; ?>],
                        backgroundColor: 'rgb(248, 108, 108, 0.6)'
                      }                   
                      ]
                },
                .......
                .......
                .......
                      plugins: {
                              datalabels: {
                                 display: true,
                                 align: 'center',
                                 anchor: 'center',
                                 formatter: function(value, index, values) {
                                     if(value != 0){
                                         value = value.toString();
                                         value = value.split(/(?=(?:...)*$)/);
                                         value = value.join(',');
                                         return value;
                                     }
                                    }
                              }
                           }
                    }

                });

¿Cómo se ve mi gráfico actualmente?

2
Honestman 17 oct. 2019 a las 08:52

1 respuesta

La mejor respuesta

Finalmente me resuelvo. es una respuesta tonta. Necesito agregar una declaración else para hacer desaparecer el cero.

 plugins: {
            datalabels: {
                display: true,
                align: 'center',
                anchor: 'center',
                formatter: function(value, index, values) {
                            if(value >0 ){
                                value = value.toString();
                                value = value.split(/(?=(?:...)*$)/);
                                value = value.join(',');
                                return value;
                            }else{
                                value = "";
                                return value;
                            }
                        }
                    }
             }
4
Honestman 17 oct. 2019 a las 06:12