将数据添加到 PrimeFaces LineChartModel
Add data to PrimeFaces LineChartModel
我运行在 PF5 中为折线图设置了这段代码,但拒绝在 PF8 中运行
public class CostChartSummary {
public LineChartModel lineChart;
public ChartDataSet dataList;
public CostChartSummary(){}
@PostConstruct
public void init(){
lineChart = new LineChartModel();
LineChartSeries estimates = new LineChartSeries();
estimates.setFill(true);
estimates.setLabel("Estimated Cost");
estimates.set("1",15000);
estimates.set("2",18000);
estimates.set("3",32000);
estimates.set("4",45000);
estimates.set("5",53000);
estimates.set("6",56000);
LineChartSeries actual = new LineChartSeries();
actual.setFill(true);
actual.setLabel("Actual Cost");
actual.set("1",9000);
actual.set("2",8000);
actual.set("3",22000);
actual.set("4",35000);
actual.set("5",47000);
actual.set("6",51000);
lineChart.addSeries(estimates);
lineChart.addSeries(actual);
lineChart.setShowPointLabels(true);
lineChart.setTitle("Project Cost Summary");
lineChart.setStacked(true);
//dataList = new ChartDataSet() {};
class CData extends ChartDataSet{
String name;
CData(String name){
this.name = name;
}
}
String john = "john";
CData cdata = new CData(john);
lineChart.getData().addChartDataSet(cdata);
// Axis xAxis = new CategoryAxis("Months");
// lineChart.getAxes().put(AxisType.X, xAxis);
//
// Axis yAxis = new CategoryAxis("Shillings");
// lineChart.getAxes().put(AxisType.Y, yAxis);
// lineChart.setLegendPosition("e");
// yAxis.setMin(0);
// yAxis.setMax(60000);
}
public LineChartModel getLineChart() {
return lineChart;
}
public void setLineChart(LineChartModel lineChart) {
this.lineChart = lineChart;
}
}
添加系列方法似乎有问题,如下面的红色下划线所示。
我试图通过 ChartDataSet 添加数据,正如小内部 class CData 所看到的那样,通过扩展 ChartDataSet,但它抛出一个空指针。唯一显着的变化是 PF5 到 PF8 是 lineChartModel 导入名称...但是 PF5 和 PF8 展示方法完全相同。
PF8中如何向折线图添加数据?
使用:
import org.primefaces.model.chart.LineChartModel;
而不是:
import org.primefaces.model.charts.line.LineChartModel;
我运行在 PF5 中为折线图设置了这段代码,但拒绝在 PF8 中运行
public class CostChartSummary {
public LineChartModel lineChart;
public ChartDataSet dataList;
public CostChartSummary(){}
@PostConstruct
public void init(){
lineChart = new LineChartModel();
LineChartSeries estimates = new LineChartSeries();
estimates.setFill(true);
estimates.setLabel("Estimated Cost");
estimates.set("1",15000);
estimates.set("2",18000);
estimates.set("3",32000);
estimates.set("4",45000);
estimates.set("5",53000);
estimates.set("6",56000);
LineChartSeries actual = new LineChartSeries();
actual.setFill(true);
actual.setLabel("Actual Cost");
actual.set("1",9000);
actual.set("2",8000);
actual.set("3",22000);
actual.set("4",35000);
actual.set("5",47000);
actual.set("6",51000);
lineChart.addSeries(estimates);
lineChart.addSeries(actual);
lineChart.setShowPointLabels(true);
lineChart.setTitle("Project Cost Summary");
lineChart.setStacked(true);
//dataList = new ChartDataSet() {};
class CData extends ChartDataSet{
String name;
CData(String name){
this.name = name;
}
}
String john = "john";
CData cdata = new CData(john);
lineChart.getData().addChartDataSet(cdata);
// Axis xAxis = new CategoryAxis("Months");
// lineChart.getAxes().put(AxisType.X, xAxis);
//
// Axis yAxis = new CategoryAxis("Shillings");
// lineChart.getAxes().put(AxisType.Y, yAxis);
// lineChart.setLegendPosition("e");
// yAxis.setMin(0);
// yAxis.setMax(60000);
}
public LineChartModel getLineChart() {
return lineChart;
}
public void setLineChart(LineChartModel lineChart) {
this.lineChart = lineChart;
}
}
添加系列方法似乎有问题,如下面的红色下划线所示。
我试图通过 ChartDataSet 添加数据,正如小内部 class CData 所看到的那样,通过扩展 ChartDataSet,但它抛出一个空指针。唯一显着的变化是 PF5 到 PF8 是 lineChartModel 导入名称...但是 PF5 和 PF8 展示方法完全相同。
PF8中如何向折线图添加数据?
使用:
import org.primefaces.model.chart.LineChartModel;
而不是:
import org.primefaces.model.charts.line.LineChartModel;