簡體   English   中英

是否可以使用vaadin插件InvientCharts動態更改x和y軸標題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM