我想尝试在PrimeFaces(版本:6.0.0)中绘制折线图。 当我看到图表时,我可以看到Y轴值没有按顺序显示。
这是我附上的图表[]。
有人可以帮我解释它为什么不显示吗?
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);
}
答案 0 :(得分:0)
我想就问题提问你。问题出现在Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);
我不应该使用类别类创建Yaxis。因此,在将Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);
更改为Axis Yaxis = lineCurrentLineChart.getAxis(AxisType.Y);
我的问题解决了。
我附上了正确的图表图片。供您参考
这是解决方案,
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