我的应用程序中有p:barchart图,类似于showCase上的第二个条形图: http://www.primefaces.org/showcase/ui/barChart.jsf
<p:barChart id="horizontal" value="#{chartBean.categoryModel}" legendPosition="se" style="height:300px"
title="Horizontal Bar Chart" orientation="horizontal" min="0" max="200"/>
如何在X轴上自定义数字。我想格式化x轴只使用整数。
提前谢谢。答案 0 :(得分:6)
试试(未经测试):
<p:barChart extender="ext" id="horizontal" value="#{chartBean.categoryModel}" legendPosition="se" style="height:300px"
title="Horizontal Bar Chart" orientation="horizontal"/>
在你js添加这个
function ext() {
this.cfg.seriesDefaults = {
useSeriesColor: true,
min: 0,
max: 200,
tickInterval: 20,
tickOptions: {
formatString: '%d'
}
};
}
或仅此x轴:
function ext() {
this.cfg.axes = {
xaxis:
{
tickInterval: 20,
tickOptions: {
formatString: '%d'
}
}
};
}
您可以尝试使用tickInterval
...
<强>延长强>
图表提供对常用jqplot选项的高级访问,但还有更多 jqplot中提供的自定义选项。扩展程序功能提供对低级别api的访问权限 通过增强this.cfg对象进行高级自定义,这是增加阴影深度的示例 线系列;
<p:lineChart value="#{bean.model}" extender="ext" />
function ext() {
//this = chart widget instance
//this.cfg = options
this.cfg.seriesDefaults = {
shadowDepth: 5
};
}
有关可用选项的文档,请参阅jqPlot文档; http://www.jqplot.com/docs/files/jqPlotOptions-txt.html 转换器
答案 1 :(得分:2)
你的扩展程序功能可能就像这样
function customExtender() {
this.cfg.axes.xaxis.tickOptions = {
formatString : '%d'
};
this.cfg.axes.xaxis.tickInterval = 1;
}
我有同样的问题,这很有效,我基于Daniel的答案和其他一些代码。这样它只是格式化所需的轴,而不是两者。
答案 2 :(得分:1)
在你js添加这个
function ext() {
this.cfg.axes.xaxis.tickOptions.formatString = '%d';
}
答案 3 :(得分:1)
您可以使用以下代码从@ManagedBean类设置格式为轴:
Axis xAxis = categoryModel.getAxis(AxisType.X);
xAxis.setTickFormat("%.0f");