如何使用 Java 更改 Primefaces 7.0 ChartJS 折线图的 Y 轴?
How to Change the Y axis of an Primefaces 7.0 ChartJS Linechart with Java?
在新版本的 Primefaces (7.0) 中,jqplot-charts 被 ChartJS 图表所取代。现在我希望图表的 Y 轴更长。使用旧图表,这在 Java 中很容易实现,但现在我不知道该怎么做。如果在 Java 中不可能,是否有其他方法可以更改现有图表的 Y 轴?
在笛卡尔线模型的第2个例子中的展示中就可以了。
https://www.primefaces.org/showcase/ui/chartjs/line.xhtml
public void createCartesianLinerModel() {
cartesianLinerModel = new LineChartModel();
ChartData data = new ChartData();
LineChartDataSet dataSet = new LineChartDataSet();
List<Number> values = new ArrayList<>();
values.add(20);
values.add(50);
values.add(100);
values.add(75);
values.add(25);
values.add(0);
dataSet.setData(values);
dataSet.setLabel("Left Dataset");
dataSet.setYaxisID("left-y-axis");
LineChartDataSet dataSet2 = new LineChartDataSet();
List<Number> values2 = new ArrayList<>();
values2.add(0.1);
values2.add(0.5);
values2.add(1.0);
values2.add(2.0);
values2.add(1.5);
values2.add(0);
dataSet2.setData(values2);
dataSet2.setLabel("Right Dataset");
dataSet2.setYaxisID("right-y-axis");
data.addChartDataSet(dataSet);
data.addChartDataSet(dataSet2);
List<String> labels = new ArrayList<>();
labels.add("Jan");
labels.add("Feb");
labels.add("Mar");
labels.add("Apr");
labels.add("May");
labels.add("Jun");
data.setLabels(labels);
cartesianLinerModel.setData(data);
//Options
LineChartOptions options = new LineChartOptions();
CartesianScales cScales = new CartesianScales();
CartesianLinearAxes linearAxes = new CartesianLinearAxes();
linearAxes.setId("left-y-axis");
linearAxes.setPosition("left");
CartesianLinearAxes linearAxes2 = new CartesianLinearAxes();
linearAxes2.setId("right-y-axis");
linearAxes2.setPosition("right");
cScales.addYAxesData(linearAxes);
cScales.addYAxesData(linearAxes2);
options.setScales(cScales);
Title title = new Title();
title.setDisplay(true);
title.setText("Cartesian Linear Chart");
options.setTitle(title);
cartesianLinerModel.setOptions(options);
}
在新版本的 Primefaces (7.0) 中,jqplot-charts 被 ChartJS 图表所取代。现在我希望图表的 Y 轴更长。使用旧图表,这在 Java 中很容易实现,但现在我不知道该怎么做。如果在 Java 中不可能,是否有其他方法可以更改现有图表的 Y 轴?
在笛卡尔线模型的第2个例子中的展示中就可以了。 https://www.primefaces.org/showcase/ui/chartjs/line.xhtml
public void createCartesianLinerModel() {
cartesianLinerModel = new LineChartModel();
ChartData data = new ChartData();
LineChartDataSet dataSet = new LineChartDataSet();
List<Number> values = new ArrayList<>();
values.add(20);
values.add(50);
values.add(100);
values.add(75);
values.add(25);
values.add(0);
dataSet.setData(values);
dataSet.setLabel("Left Dataset");
dataSet.setYaxisID("left-y-axis");
LineChartDataSet dataSet2 = new LineChartDataSet();
List<Number> values2 = new ArrayList<>();
values2.add(0.1);
values2.add(0.5);
values2.add(1.0);
values2.add(2.0);
values2.add(1.5);
values2.add(0);
dataSet2.setData(values2);
dataSet2.setLabel("Right Dataset");
dataSet2.setYaxisID("right-y-axis");
data.addChartDataSet(dataSet);
data.addChartDataSet(dataSet2);
List<String> labels = new ArrayList<>();
labels.add("Jan");
labels.add("Feb");
labels.add("Mar");
labels.add("Apr");
labels.add("May");
labels.add("Jun");
data.setLabels(labels);
cartesianLinerModel.setData(data);
//Options
LineChartOptions options = new LineChartOptions();
CartesianScales cScales = new CartesianScales();
CartesianLinearAxes linearAxes = new CartesianLinearAxes();
linearAxes.setId("left-y-axis");
linearAxes.setPosition("left");
CartesianLinearAxes linearAxes2 = new CartesianLinearAxes();
linearAxes2.setId("right-y-axis");
linearAxes2.setPosition("right");
cScales.addYAxesData(linearAxes);
cScales.addYAxesData(linearAxes2);
options.setScales(cScales);
Title title = new Title();
title.setDisplay(true);
title.setText("Cartesian Linear Chart");
options.setTitle(title);
cartesianLinerModel.setOptions(options);
}