primefaces条形图自定义x轴

时间:2012-11-24 19:14:05

标签: java xhtml primefaces integer

我的应用程序中有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轴只使用整数。

提前谢谢。

4 个答案:

答案 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 ...


直接从PrimeFaces Userguide

<强>延长

图表提供对常用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");
相关问题