0
我需要在y軸上放置相位名稱,並在x軸上放置時間,或者類似於此。但是我找不到任何具有y軸字符串的組件,只有數字(例如折線圖)。 如果有人能給我一個想法選擇哪個圖表和哪些屬性,我將不勝感激。應該選擇哪個primefaces圖表來呈現項目的階段
我需要在y軸上放置相位名稱,並在x軸上放置時間,或者類似於此。但是我找不到任何具有y軸字符串的組件,只有數字(例如折線圖)。 如果有人能給我一個想法選擇哪個圖表和哪些屬性,我將不勝感激。應該選擇哪個primefaces圖表來呈現項目的階段
您可以使用帶有j軸的CategoryAxisRenderer和用於x軸的DateAxisRenderer的primefaces折線圖。
你CartesianChartModel應該建立這樣的:
對於相數p(INT):
chartModel.set(startTimestamp,p);
chartModel.set(endTimestamp,p);
對於primefaces線型圖,你需要創建你設置渲染器軸的延伸, y軸刻度(相位名稱數組),x軸刻度間隔,minX,maxX以及x軸刻度的格式字符串。
function extender() {
this.cfg.axes = {
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
rendererOptions: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer
},
tickOptions: {
formatString: '%H:%M',
formatter: myFormatter
},
min: myMinXTimestamp,
max: myMaxXTimestamp,
tickInterval: 3600000, //1 hour
autoscale: false
},
yaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ['Pahse 1','Phase 2','Phase 3'],
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
}
};
this.cfg.highlighter = {
show: true,
formatString: '%s'
};
}
定義myFormatter功能:
function myFormatter(format, val) {
return $.jsDate.strftime(val, format);
};
最後你的線型圖組件:
<p:lineChart id="chart" value="#{chartModel}" extender="extender"/>