当我们创建primefaces
图表时,它会以小数点显示数字刻度。我想显示没有小数位,比如简单的 munbers。有没有办法?
谢谢
问问题
6296 次
1 回答
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>
请注意,resetAxesScale
您可以通过执行以下操作分别重置x或y ,而不是重置两个轴:
window.barChartObj.plot.axes.xaxis.resetScale();
或者
window.barChartObj.plot.axes.yaxis.resetScale();
您还可以尝试将超时减少到更小的数字,以实现更平滑的重新绘制。有关其他选项,请参阅jqPlot 文档。
在 Google Chrome 22.0.1229.94(官方版本 161065)中测试。
于 2012-10-16T18:40:57.957 回答