PrimeFaces 3.4의 꺾은 선형 차트에서 Extender atttribute를 사용하려고합니다. 날짜/시간 값이있는 x 축의 형식을 지정하려면 익스텐더를 사용해야합니다. 익스텐더없이이 작업을 수행하는 것은 옵션이 아닙니다. 데이터 포인트가 너무 많아서 기본 PF lineChart 특성을 사용하면 레이블이 단순히 덮어 쓰게됩니다. 아래와 같이 코드를 설정하면 값이 표시되지 않은 x 축이 표시됩니다. 내가 볼 수있는 것은 모두 x 축입니다. 자세한 내용은 그림을 참조하십시오. 어떻게하면 x 축이 시간을 hh : mm 형식으로 표시하도록 설정할 수 있습니까? 확장기에 최소 속성을 추가 XHTML 코드Primefaces & jqplot - 축에 날짜 표시
<script type="text/javascript" src="#{request.contextPath}/js/plugins/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="#{request.contextPath}/js/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript">
function loginRateChartExt() {
this.cfg.axes = {
yaxis: {
numberTicks: 10,
label: 'Logins per minute ->',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
labelOptions: { fontFamily: 'Verdana', fontSize: '8pt' },
},
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
rendererOptions: { tickRenderer:$.jqplot.CanvasAxisTickRenderer },
tickOptions: { formatString:'%H:%M' },
label: 'Time of day ->',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
labelOptions: { fontFamily: 'Verdana', fontSize: '8pt' }
}
};
}
</script>
<p:lineChart id="loginRateChart" value="#{loginRateBean.chartModel}" extender="loginRateChartExt" />
콩 코드
for(int i = 0; i < workerBean.getSize(); i++) { // worker bean has the data
for (String key : workerBean.getValueKeys()) { // each key refers to a series
// chartSeriesMap is a map that contains all the series
// workerBean.getKeyAt(i) returns Date
// workerBean.getValueAt(i, key) returns a Number
chartSeriesMap.get(key).set(workerBean.getKeyAt(i), workerBean.getValueAt(i, key).floatValue());
}
}
for (String string : workerBean.getValueKeys()) {
chartModel.addSeries(chartSeriesMap.get(string));
}