数据更改AmCharts时主题更改

问题描述

我在安全带上有问题。 在我的页面上,用户可以更改一些过滤器,并且当更改过滤器(日期,..)时,图表也会更改。此时,我更改图表的数据,删除XYChart的所有系列,然后重新构建所有系列。

但是,当我这样做时,我不知道为什么,但是在创建图表之前我收取的主题发生了变化。 我发现的唯一解决方案是处理图表并重新创建它。但是,如果可能的话,我希望保持不变的主题,而不必重新创建图表,而只是重新创建序列和数据。

这是我的更新功能。 已经创建了图表及其轴,并应用了主题

   update: function (categories,data,granularity,symbol) {
        symbol = symbol || '';
        this._completeData(data,categories);
        var dateAxis = this.chart.xAxes.values[0];
        //Pour changement de granularité
        var baseInterval;
        var groupsInterval;
        var gridInterval;
        switch (granularity) {
            case "hour":
                baseInterval = { timeUnit: "hour",count: 1 };
                groupsInterval = [
                    { timeUnit: "hour",count: 1 },{ timeUnit: "day",count: 1 }
                ];
                break;
            case "month":
                baseInterval = { timeUnit: "month",count: 1 };
                groupsInterval = [
                    {
                        timeUnit: "month",count: 1,},{
                        timeUnit: "year",];
                break;
            case "year":
                baseInterval = { timeUnit: "year",count: 1 };
                groupsInterval = [
                    {
                        timeUnit: "year",];
                break;
            default:
                baseInterval = { timeUnit: "day",count: 1 };
                groupsInterval = [
                    { timeUnit: "day",{
                        timeUnit: "month",];
                break;
        }
        dateAxis.baseInterval = baseInterval;
        dateAxis.groupIntervals.setAll(groupsInterval);
        while (this.chart.series.values.length !== 0) {
            this.chart.series.removeIndex(0).dispose();
        }
        this.chart.data = data;
        this.chart.invalidateData();
        categories.forEach(function (category) {
            if (this.options.typeSeries == 'Line') {
                this._createLineserie(category,symbol);
            }
            else {
                this._createColumnSerie(category,symbol);
            }
        }.bind(this));

要继续使用主题,请创建图表。当有更改时,我更改了数据和系列,但我不知道为什么,但是我使用的第一个主题没有保留。

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)