Primefaces 如何在基本面上添加次y轴

Primefaces 如何在基本面上添加次y轴,primefaces,linechart,Primefaces,Linechart,如何在primefaces 3.4上创建次y轴? 我已经在谷歌上看过primefaces手册了 <h:head> <link rel="shortcut icon" href="images/ico.ico" /> <title>Capacity - Dashboard</title> <link rel="stylesheet" type="text/css" href="styles

如何在primefaces 3.4上创建次y轴? 我已经在谷歌上看过primefaces手册了

    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>
谷歌告诉我们y2axis(来自jqplot)是一种方式 但primefaces手册根本没有提到y2axis

    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>
我的班级

package br.com.inmetrics.managedbean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.model.chart.CartesianChartModel;
import org.primefaces.model.chart.LineChartSeries;
import javax.faces.event.ComponentSystemEvent;
import br.com.inmetrics.entity.Grafico;
import javax.faces.event.AbortProcessingException;
import br.com.inmetrics.dao.SistemaDAO;

@ManagedBean(name = "chartMB")
@SessionScoped
public class ChartManagedBean implements Serializable {

    private static final long serialVersionUID = 1L;
    private SistemaDAO apoioDao = new SistemaDAO();
    private List<Grafico> graficos = new ArrayList<Grafico>();
    private CartesianChartModel categoryModel;
    private CartesianChartModel linearModel;
    private String sistema;
    private String hostname;
    private String metrica;
    private String alinhamento;
    private String funcao;
    private int maximo;

    public ChartManagedBean() {
    }

    public CartesianChartModel getCategoryModel() {
        return categoryModel;
    }

    public CartesianChartModel getLinearModel() {
        return linearModel;
    }

    private void createLinearModel() {
        try {
            graficos = apoioDao.getGrafico(hostname, metrica);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        linearModel = new CartesianChartModel();
        LineChartSeries series1 = new LineChartSeries();
        this.alinhamento = metrica.equalsIgnoreCase("GBL_LOADAVG") ? "ne" : "e";
        this.funcao = metrica.equalsIgnoreCase("GBL_LOADAVG") ? "ext2" : "ext1";
        this.maximo = metrica.equalsIgnoreCase("GBL_LOADAVG") ? 1 : 100;
        series1.setLabel(metrica);

        for (Grafico s : graficos) {
            series1.set(s.getData(), s.getValor());
        }

        LineChartSeries series2 = new LineChartSeries();
        series2.setLabel("Threshold");
        series2.setMarkerStyle("filledSquare");

        for (Grafico t : graficos) {
            series2.set(t.getData(), metrica.equalsIgnoreCase("GBL_LOADAVG") ? 0.48 : 80);
        }

        //teste
        LineChartSeries series3 = new LineChartSeries();
        series3.setLabel("Threshold");
        series3.setMarkerStyle("filledSquare");

        for (Grafico t : graficos) {
            series3.set(t.getData(), metrica.equalsIgnoreCase("GBL_LOADAVG") ? 0.48 : 90);
        }

        linearModel.addSeries(series1);
        linearModel.addSeries(series2);

        //teste
        linearModel.addSeries(series3);
    }

    public String getSistema() {
        return sistema;
    }

    public void setSistema(String sistema) {
        this.sistema = sistema;
    }

    public String getHostname() {
        return hostname;
    }

    public void setHostname(String hostname) {
        this.hostname = hostname;
    }

    public String getMetrica() {
        return metrica;
    }

    public void setMetrica(String metrica) {
        this.metrica = metrica;
    }

    public void push(ComponentSystemEvent evt) throws AbortProcessingException {
        createLinearModel();
    }

    public String getAlinhamento() {
        return alinhamento;
    }

    public void setAlinhamento(String alinhamento) {
        this.alinhamento = alinhamento;
    }

    public int getMaximo() {
        return maximo;
    }

    public void setMaximo(int maximo) {
        this.maximo = maximo;
    }

    public String getFuncao() {
        return funcao;
    }

    public void setFuncao(String funcao) {
        this.funcao = funcao;
    }
}
    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>
package br.com.inmetrics.managedbean;
导入java.io.Serializable;
导入java.util.ArrayList;
导入java.util.List;
导入javax.faces.bean.ManagedBean;
导入javax.faces.bean.SessionScoped;
导入org.primefaces.model.chart.CartesianChartModel;
导入org.primefaces.model.chart.LineChartSeries;
导入javax.faces.event.ComponentSystemEvent;
导入br.com.inmetrics.entity.Grafico;
导入javax.faces.event.AbortProcessingException;
导入br.com.inmetrics.dao.SistemaDAO;
@ManagedBean(name=“chartMB”)
@会议范围
公共类ChartManagedBean实现可序列化{
私有静态最终长serialVersionUID=1L;
私有SistemaDAO APOIDAO=新SistemaDAO();
private List graficos=new ArrayList();
私有卡特尔模型分类模型;
私人卡特尔模型线性模型;
私有字符串系统;
私有字符串主机名;
私有字符串metrica;
私人字符串alinhamento;
私有字符串funcao;
马克西莫私人酒店;
公共ChartManagedBean(){
}
公共CartesianChartModel getCategoryModel(){
返回类别模型;
}
公共CartesianChartModel getLinearModel(){
返回线性模型;
}
私有void createLinearModel(){
试一试{
graficos=apoidao.getGrafico(主机名,metrica);
}捕获(例外情况除外){
例如printStackTrace();
}
linearModel=新的CartesianChartModel();
LineChartSeries系列1=新的LineChartSeries();
this.alinhamento=metrica.equalsIgnoreCase(“GBL_LOADAVG”)?“ne”:“e”;
this.funcao=metrica.equalsIgnoreCase(“GBL_LOADAVG”)?“ext2”:“ext1”;
此.maximo=计量等信号情况(“GBL_LOADAVG”)?1:100;
系列1.setLabel(metrica);
为(格拉菲科s:graficos){
series1.set(s.getData(),s.getValor());
}
LineChartSeries系列2=新的LineChartSeries();
系列2.设置标签(“阈值”);
序列2.设置标记样式(“填充方形”);
对于(Grafico t:graficos){
series2.set(t.getData(),metrica.equalsIgnoreCase(“GBL_LOADAVG”)?0.48:80);
}
//睾丸
LineChartSeries系列3=新的LineChartSeries();
系列3.设置标签(“阈值”);
系列3.设置标记样式(“填充方形”);
对于(Grafico t:graficos){
series3.set(t.getData(),metrica.equalsIgnoreCase(“GBL_LOADAVG”)?0.48:90);
}
linearModel.addSeries(系列1);
linearModel.addSeries(系列2);
//睾丸
linearModel.addSeries(系列3);
}
公共字符串getSistema(){
返回系统;
}
公共无效设置列表(字符串列表){
this.sistema=sistema;
}
公共字符串getHostname(){
返回主机名;
}
public void setHostname(字符串主机名){
this.hostname=主机名;
}
公共字符串getMetrica(){
回归矩阵;
}
公共void setMetrica(字符串metrica){
this.metrica=metrica;
}
公共无效推送(ComponentSystemEvent evt)引发AbortProcessingException{
createLinearModel();
}
公共字符串getAlinhamento(){
返回阿林哈门托;
}
公共void setAlinhamento(字符串alinhamento){
this.alinhamento=alinhamento;
}
public int getMaximo(){
返回maximo;
}
公共空间设置最大值(int最大值){
this.maximo=maximo;
}
公共字符串getFuncao(){
返回funcao;
}
公共void setFuncao(字符串funcao){
this.funcao=funcao;
}
}
我的xhtml:

    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>

容量-仪表板
函数ext1(){
this.cfg.axes.yaxis.tickOptions={
格式字符串:“%d\%”
};
}
函数ext2(){
this.cfg.axes.yaxis.tickOptions={
formatString:“%.2f”
};
}
仪表板











致以亲切的问候和良好的祝愿

    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>
杰拉尔多·内托

    <h:head>
        <link rel="shortcut icon" href="images/ico.ico" />
        <title>Capacity - Dashboard</title>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </h:head>
    <h:body>
        <h:form>
            <script type="text/javascript">
                function ext1() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%d\%'
                     };
                }

                function ext2() {
                    this.cfg.axes.yaxis.tickOptions = {
                        formatString : '%.2f'
                    };
                }
            </script>

            <div id="externa_corpo">
                <div id="corpo">
                    <div id="logo">
                        <img src="images/pt/logo.png" width="200" height="74" />
                    </div>

                    <!--logo-->
                    <div id="titulo-book">
                        Dashboard <br />
                    </div>
                    <div id="logo-cliente">
                        <img src="images/logoTIM.jpg" width="122" height="53" />
                    </div>

                    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
                    <p:lineChart id="linear" value="#{chartMB.linearModel}"
                                 legendPosition="#{chartMB.alinhamento}"
                                 title="#{chartMB.hostname} - P90" minY="0" maxY="#{chartMB.maximo}"
                                 style="height:450px" animate="true" xaxisAngle="270"
                                 seriesColors="FFFF00, FF0000" extender="#{chartMB.funcao}" showMarkers="true"
                                 zoom="false" />

                    <f:metadata>
                        <f:viewParam name="sistema" value="#{chartMB.sistema}" />
                        <f:viewParam name="hostname" value="#{chartMB.hostname}" />
                        <f:viewParam name="metrica" value="#{chartMB.metrica}" />
                        <f:event type="preRenderView" listener="#{chartMB.push}" />
                    </f:metadata>
                </div>
            </div>
        </h:form>
    </h:body>
</html>