用jsf和primefaces开发Java8应用程序时,我的barChart的栏重叠时遇到了一个小问题。所以我的问题是:如何配置图表的宽度而又不影响轴的间隔?
我的第一个想法是使用xAxis.setTickInterval();
修改轴,但问题是我的轴是以月/年为单位的DateAxis,并且它在轴中同一月显示多次(而不是多次显示横条(cf屏幕截图),减少重叠)。
和代码:
private void createChart() {
globalGradeEvolution = new BarChartModel();
globalGradeEvolution.setTitle("Evaluation globale");
globalGradeEvolution.setLegendPosition("e");
//Define two axis
Axis yAxis = globalGradeEvolution.getAxis(AxisType.Y);
DateAxis xAxis = new DateAxis("Dates");
//cacteristics of x axis
xAxis.setTickAngle(-30);
xAxis.setMax(LocalDate.now().getYear()+"-"+LocalDate.now().getMonthValue()+"-"+"15"); // middle of the month
xAxis.setTickFormat("%m/%Y"); // example: 08/2018
//cacteristics of y axis
yAxis.setLabel("Notes");
yAxis.setMin(min);
yAxis.setMax(10);
yAxis.setTickFormat("%.1f");
globalGradeEvolution.getAxes().put(AxisType.X, xAxis);
}
<h:form>
<p:chart type="bar" model="#{statChartView.globalGradeEvolution}" style="height:400px" responsive="true"/>
</h:form>
答案 0 :(得分:1)
这是PrimeFaces + JqPlot组合中的错误。
该错误已在此处报告给PrimeFaces:https://github.com/primefaces/primefaces/issues/3684