Y轴绘制值不作为主要面中的增量顺序

时间:2017-04-21 18:48:09

标签: primefaces charts jqplot

我想尝试在PrimeFaces(版本:6.0.0)中绘制折线图。 当我看到图表时,我可以看到Y轴值没有按顺序显示。

这是我附上的图表[screenshot]。

有人可以帮我解释它为什么不显示吗?

XHTML:可

<p:chart type="line" model="#{BackingBean.lineCurrentLineChart}"
rendered="#{not empty BackingBean.lineCurrentLineChart}" id="liveChart" style="height:500px;width:500px" />

BackingBean.java

public void CurrentExecutionLiveChart()
{
    if(lineCurrentLineChart != null)
    {
        lineCurrentLineChart.clear();
    }
    lineCurrentLineChart = new LineChartModel();


    Axis Yaxis = new CategoryAxis("Execution Time in Minutes");
    Yaxis.setMin(0);
    Yaxis.setMax(59);
    Yaxis.setTickFormat("%d");
    Yaxis.setTickInterval("5");
    lineCurrentLineChart.getAxes().put(AxisType.Y, Yaxis);


    Axis xAxis = new CategoryAxis("Scenario Name");
    xAxis.setTickAngle(-90);        
    lineCurrentLineChart.getAxes().put(AxisType.X, xAxis);

    LineChartSeries ch = new LineChartSeries();

    ch.setLabel("ScenarioList");
    ch.set("Sce_1", 0);
    ch.set("Sce_2", 16);
    ch.set("Sce_3", 18);
    ch.set("Sce_4", 12);
    ch.set("Sce_5", 4);
    ch.set("Sce_6", 32);
    ch.set("Sce_7", 12);
    ch.set("Sce_8", 0);
    ch.set("Sce_9", 0);
    ch.set("Sce_10", 10);
    ch.set("Sce_11", 0);
    ch.set("Sce_12", 0);


    lineCurrentLineChart.addSeries(ch); 
}

1 个答案:

答案 0 :(得分:0)

我想就问题提问你。问题出现在Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);

我不应该使用类别类创建Yaxis。因此,在将Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);更改为Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);

之后

我的问题解决了。

我附上了正确的图表图片。供您参考

Click Here

这是解决方案,

    Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);
    Yaxis.setLabel("Execution Time in Minutes");
    Yaxis.setMin(0);
    Yaxis.setMax(100);
    Yaxis.setTickFormat("%d");
    Yaxis.setTickInterval("5");     

    Axis xAxis = new CategoryAxis("Scenario Name");
    xAxis.setTickAngle(-90);        
    lineCurrentLineChart.getAxes().put(AxisType.X, xAxis);

谢谢@Kukelje