Displaying decimal places on primefaces pie chart

jsfpie-chartprimefaces

I would like to check how do I display decimals for primefaces ver 3.3 pie chart label?

Currently, there are two proportions in my chart. Label A and Label B. Label A has a very big number like 100000 but label B has 100. Therefore, in the pie chart, Label A is not 100%. However, primefaces converts this to 100% which is wrong. Is there any way I can show the decimal places instead of whole numbers as labels on the pie chart?

Best Answer

Define an extender function like:

function ext() {
    this.cfg.seriesDefaults.rendererOptions.dataLabelFormatString = '%.4s%%';
    this.cfg.seriesDefaults.rendererOptions.dataLabelThreshold = 0;
}

This will format your output labels to show percentage up to 4 digits after the decimal point. Also jqPlot by default, for areas smaller than 3% won't display any labels. You have to overwrite this value with dataLabelThreshold = 0.

Finally attach this extender function on your p:pieChart:

<p:pieChart id="sample" value="#{testClazz.pieModel}"
                extender="ext" showDataLabels="true"/>
Related Topic