从p:chart barchart中删除网格和边框

时间:2016-07-11 11:27:30

标签: css jsf jsf-2 primefaces charts

我正在尝试删除我的条形图中的网格和边框。 请考虑一下新的表面图表。我google了很多,只找到了关于primefaces旧标签的解决方案,但还有新的标签。

<p:chart type="bar" model="#{reportServerController.horizontalBarModelG}" styleClass="chartSize" >
            <p:ajax event="itemSelect" listener="#{auftragBean.itemSelectGutachten}" update="dataTableG" />
        </p:chart>

那么有可能从图表中删除边框和网格吗?

2 个答案:

答案 0 :(得分:2)

要扩展jqplot配置,您必须使用primefaces图表的扩展器功能。

在您的控制器中,您必须为您的模型设置属性扩展器。例如,使用primefaces展示演示:

private BarChartModel initBarModel() {
    BarChartModel model = new BarChartModel();
    model.setExtender("chartExtender");

    ChartSeries boys = new ChartSeries();
    boys.setLabel("Boys");
    boys.set("2004", 120);
    boys.set("2005", 100);
    boys.set("2006", 44);
    boys.set("2007", 150);
    boys.set("2008", 25);

    ChartSeries girls = new ChartSeries();
    girls.setLabel("Girls");
    girls.set("2004", 52);
    girls.set("2005", 60);
    girls.set("2006", 110);
    girls.set("2007", 135);
    girls.set("2008", 120);

    model.addSeries(boys);
    model.addSeries(girls);

    return model;
}

setExtender方法接受javascript函数的名称,您可以在其中操作jqplot配置。

例如,要删除网格线,您可以执行以下操作:

<h:outputScript>
    function chartExtender(){
        //this = chart widget instance
        //this.cfg = options
        this.cfg.axes.xaxis.tickOptions.showGridline = false;
        this.cfg.axes.yaxis.tickOptions.showGridline = false;
    }
</h:outputScript>

您可以查看所有jqplot选项的here

答案 1 :(得分:0)

我认为你必须覆盖Primefaces图表的样式类:

How do I override default PrimeFaces CSS with custom styles?

我希望这有帮助!