如何在Primefaces图表中格式化轴标签

时间:2014-04-29 09:17:14

标签: java primefaces charts

我正在寻找一种格式化轴实验室的方法。以下是我的图表显示方式: enter image description here

我希望5000000显示为50M或50,000,000。我无法找到任何方法来执行这样重要的行动。代码在java中。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:8)

使用primefaces 5.1只需执行此操作:

<p:chart type="line">

使用新标记,在Java代码中只需执行以下操作:

lineCharModelFinanceiro = new LineChartModel();

lineCharModelFinanceiro.getAxes().put(AxisType.X, new CategoryAxis("Meses"));

Axis yAxis = lineCharModelFinanceiro.getAxis(AxisType.Y);

yAxis.setTickFormat("%.2f");
yAxis.setLabel("Valor R$");
yAxis.setMin(-1);

答案 1 :(得分:1)

您可以使用带有附加标记extender的lineChart,您应在其中提供用于显示格式化字符串的Java脚本。我在我的项目中使用它工作正常。 xhtml代码和java csripts如下。

<p:lineChart id="linear" value="#{xxxxxxxx}"
            legendPosition="e" title="Linear Chart" extender="overrideXAxis"
            style="height:300px" />


<script>
        function overrideXAxis() {
            this.cfg.axes = {
                yaxis : {
                    tickOptions : {
                        formatString : "%dM",
                        angle : 0
                    }
                }
            }
        };
    </script>

它会为您提供所需的输出。

enter image description here

答案 2 :(得分:0)

要使用数字分组格式化yaxis数字,请将以下内容添加到自定义扩展程序

this.cfg.axes.xaxis.tickOptions.formatString =&#34;%&#39; d&#34;

(jqPlot使用单引号(&#39;)格式化数字分组)