【问题标题】:How can I reset an AmChart?如何重置 AmChart?
【发布时间】:2014-05-15 20:00:59
【问题描述】:

我正在尝试找出动态清除/重置 AmChart 的最佳方法。我有以下图表:

amchart = new AmCharts.AmSerialChart();

我尝试简单地重新初始化它以清除它以进行重写,但它失败了,图表变为纯灰色。我最幸运的是调用特定函数并重置特定属性,如下所示:

amchart.titles = [];
amchart.clearLabels();

我以 API 为指导:http://docs.amcharts.com/2/javascriptcharts/AmChart

重写图表后,它看起来基本正常,但某些元素(例如侧标签)已关闭。我只有在有传说时才注意到这一点。有人可以帮忙吗?

【问题讨论】:

    标签: javascript amcharts


    【解决方案1】:

    根据您要完成的任务,我会考虑尝试:

    amchart.validateNow();
    // or
    amchart.validateData();
    

    在图表上设置属性和/或数据提供者之后。

    【讨论】:

      【解决方案2】:

      要清除包含多个数据系列的图表,请继续删除第一个系列,直到没有剩余。

           while(chart.series.length) {
               chart.series.removeIndex(0).dispose();
           }
      
      

      @Laurent 发布的链接很有用:https://www.amcharts.com/docs/v4/tutorials/dynamically-adding-and-removing-series/

      请注意,旧系列的键(或 ID)保留在图表的地图中。因此,您无法创建具有相同 ID 的新系列。在这种情况下,您可能更愿意只清空系列的数据 []。

          const series = chart.series.getIndex(indexToRemove);
          series.data = [];
      

      【讨论】:

        【解决方案3】:

        使用删除系列

        chart.series.removeIndex(0);
        

        在这里查看:https://www.amcharts.com/docs/v4/tutorials/dynamically-adding-and-removing-series/

        【讨论】:

          【解决方案4】:

          要清除图表,只需使用 chart.clear();

          【讨论】:

          • chart.clear() 不是函数
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-07
          • 1970-01-01
          相关资源
          最近更新 更多