我正在寻找一种格式化轴实验室的方法。以下是我的图表显示方式:
我希望5000000显示为50M或50,000,000。我无法找到任何方法来执行这样重要的行动。代码在java中。任何帮助表示赞赏。
答案 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>
它会为您提供所需的输出。
答案 2 :(得分:0)
要使用数字分组格式化yaxis数字,请将以下内容添加到自定义扩展程序
this.cfg.axes.xaxis.tickOptions.formatString =&#34;%&#39; d&#34;
(jqPlot使用单引号(&#39;)格式化数字分组)