[英]Is it possible to change the x- and y-axis caption dynamically with the vaadin addon InvientCharts
我正在使用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軸標題(如上所述)?
非常感謝
經過大量研究,我得出的結論是,目前似乎沒有辦法以對稱方式更改x-和yAxis標題,這是可行的。
我發現,如果刷新頁面(例如,按F5鍵),則會更改軸標題。 我嘗試過實施更新,但是某種程度上行為仍然沒有改變。
因此,對我來說,這似乎是一個bug(或軟件故障)。
我的解決方法是刪除整個圖表,然后使用新的Axis-caption添加一個全新的圖表。 這可以完美快速,良好地工作,但是在我眼中是一個骯臟的解決方案,因為您必須添加不必要的代碼行,而且現在的邏輯實際上比應該的復雜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.