私は vaadin を使用しており、いくつかの視覚的なデータ分析のために、vaadin 用のアドオン InvientCharts を追加しました (https://vaadin.com/directory#addon/invient-charts)。
散布図の x 軸と y 軸のキャプションを動的に変更することはできますか (チャートが作成された後)。
現在、散布図とボタンがあります。ボタンをクリックすると、既存のすべてのポイント (系列) が削除され、x 軸と y 軸のキャプションが変更され、新しいポイントがチャートに追加されます。
それは私が現在試しているコードスニペットです:
public void changePoints(String xAxisTitle, String yAxisTitle, List<List<double[]>> xAndYCoordinates) {
// remove all points from the scatterchart - THIS IS WORKING
Object[] allSeries = chart.getAllSeries().toArray();
for(int j = 0; j < allSeries.length; j++){
Series serie = (Series) allSeries[j];
chart.removeSeries(serie);
}
// update the x- and y-axis - THIS IS NOT WORKING AND WHAT I'M TALKING ABOUT
chartConfig.getXAxes().clear();
chartConfig.getYAxes().clear();
NumberXAxis xAxis = new NumberXAxis();
xAxis.setTitle(new AxisTitle(xAxisTitle));
xAxis.setStartOnTick(true);
xAxis.setEndOnTick(true);
xAxis.setShowLastLabel(true);
LinkedHashSet<XAxis> xAxesSet = new LinkedHashSet<InvientChartsConfig.XAxis>();
xAxesSet.add(xAxis);
chartConfig.setXAxes(xAxesSet);
NumberYAxis yAxis = new NumberYAxis();
yAxis.setTitle(new AxisTitle(yAxisTitle));
LinkedHashSet<YAxis> yAxesSet = new LinkedHashSet<InvientChartsConfig.YAxis>();
yAxesSet.add(yAxis);
chartConfig.setYAxes(yAxesSet);
// add the new points - THIS IS WORKING AGAIN
for (int i = 0; i < versionDates.size(); i++) {
String versionDate = versionDates.get(i);
List<double[]> versionValues = xAndYCoordinates.get(i);
ScatterConfig versionScatterConfig = new ScatterConfig();
XYSeries series = new XYSeries("Version " + (i + 1) + " - "
+ versionDate, versionScatterConfig);
series.setSeriesPoints(getPoints(series, versionValues));
chart.addSeries(series);
}
}
ご覧のとおり、ポイントの削除と追加は完全に正常に機能します。これは、軸のキャプションを変更しようとしたときに chartConfig で作業しているときに、ここでチャートで直接作業しているためだと思います。
既存のグラフで x 軸と y 軸のキャプションを変更する方法を教えてください (上記のように)。
どうもありがとう