Highcharts JavaFX,线条图从StackPane获取所有图例
我有Highcharts JavaFX,线条图从StackPane获取所有图例,highcharts,javafx-2,legend,linechart,Highcharts,Javafx 2,Legend,Linechart,我有StackPane和LineChart,每个LineChart可以有几个系列。 使用方法getLegend()我只获取只有一个系列的图表的图例。我想获得所有系列的图例,将它们放在底部。 代码如下: public Node getLegend() { HBox hbox = new HBox(); final CheckBox baseChartCheckBox = new CheckBox(baseChart.getYAxis().getLabel());
StackPane
和LineChart
,每个LineChart
可以有几个系列。
使用方法getLegend()
我只获取只有一个系列的图表的图例。我想获得所有系列的图例,将它们放在底部。
代码如下:
public Node getLegend() {
HBox hbox = new HBox();
final CheckBox baseChartCheckBox = new CheckBox(baseChart.getYAxis().getLabel());
baseChartCheckBox.setSelected(true);
baseChartCheckBox.setDisable(true);
baseChartCheckBox.getStyleClass().add("readonly-checkbox");
baseChartCheckBox.setOnAction(event -> baseChartCheckBox.setSelected(true));
hbox.getChildren().add(baseChartCheckBox);
for (final LineChart lineChart : backCharts) {
CheckBox checkBox = new CheckBox(lineChart.getYAxis().getLabel());
checkBox.setSelected(true);
checkBox.setOnAction(event -> {
if (backCharts.contains(lineChart)) {
backCharts.remove(lineChart);
} else {
backCharts.add(lineChart);
}
});
hbox.getChildren().add(checkBox);
}
hbox.setAlignment(Pos.CENTER);
hbox.setSpacing(20);
hbox.setStyle("-fx-padding: 0 10 20 10");
return hbox;
我决定:
ObservableList<LineChart> charts = backCharts;
for (LineChart linechart : charts) {
ObservableList<XYChart.Series> serieslists = linechart.getData();
for (XYChart.Series list : serieslists) {
list.getName();
}
}
observeList charts=回溯图;
用于(折线图折线图:图表){
ObservableList serieslists=linechart.getData();
对于(XYChart.Series列表:serieslists){
list.getName();
}
}