Search code examples
jsfprimefacesjqplot

Don't show zero-values in BarChartModel


How to hide zero-values in org.primefaces.model.chart.BarChartModel?

enter image description here

Primefaces 5.2


Solution

  • Found out decision. In order to hide zero values you should create js script in your xhtml file and then bind this script to model with org.primefaces.model.chart.BarChartModel.setExtender method.

    <script>
            function extender() {
            this.cfg.seriesDefaults = {
            showMarker: true,
            renderer: $.jqplot.BarRenderer,
            pointLabels: {show: true, location: 'n', ypadding: 0, hideZeros: true}
            };    
        }
    </script>
    

    Java Class:

    BarChartModel model = new BarChartModel();
    model.setShowDatatip(false);
    model.setShowPointLabels(true);
    model.setExtener("extender");
    

    xhtml

    <p:chart type="bar" model="#{'javaClassController.getModel()'}"/>
    

    Result should look like this:

    Bar Chart with no zero values