当我们创建primefaces
图表时,它会以小数点显示数字比例。我想显示没有小数点的地方,比如简单的munbers。有办法吗?
谢谢
答案 0 :(得分:4)
<强>更新强>
虽然下面发布的解决方法仍然有效,但我找到了更合适的解决方案。数字刻度可以通过extender
函数格式化:
<p:barChart value="#{testClazz.categoryModel}" legendPosition="ne"
widgetVar="barChartObj1" extender="ext1"/>
在页面上的<head></head>
标记之间放置以下功能:
<script type="text/javascript">
function ext1() {
this.cfg.axes.yaxis.tickOptions = {
formatString : '%d'
};
}
</script>
用jqPlot试验了一下后,我发现如果你在绘图结束后重置了轴,小数点后的小数被清除了。如果您的barChart定义如下:
<p:barChart id="basicPlot" value="#{testClazz.categoryModel}"
legendPosition="ne" widgetVar="barChartObj"
title="Basic Bar Chart" min="0" max="270"/>
在页面加载完成后调用以下函数:
<script type="text/javascript">
$(document).ready( function() {
setTimeout(formatAxisNumbers, 500);
});
function formatAxisNumbers() {
window.barChartObj.plot.resetAxesScale();
window.barChartObj.plot.replot();
}
</script>
请注意,您可以通过以下方式单独重置 x 或 y ,而不是使用resetAxesScale
重置这两个轴。
window.barChartObj.plot.axes.xaxis.resetScale();
或
window.barChartObj.plot.axes.yaxis.resetScale();
您还可以通过将超时减少到较小的数字来实现,以实现更平滑的重新绘制。 有关其他选项,请参阅jqPlot documentation。
在谷歌浏览器22.0.1229.94(官方版本161065)中测试。