4

这可能是一个简单的问题,但我无法在任何地方找到答案。我有一个动态添加新图的图表。现在我需要删除一些图,但是我需要通过 id 而不是索引来识别图。

根据文档,可以通过 ID 删除绘图。但是,我使用的是Jquery 包装器,它只讨论按索引删除。在任何情况下(有或没有 JQuery)我都无法让它工作,我不确定这是因为我添加情节的方式、删除它的方式或我自己配置​​情节的方式。

代码在这里

(注意我使用的是 Jquery 包装器,但为方便起见,小提琴不是)。

var myConfig = {
    'type':'line',
 'series':[

    ]
};
zingchart.render({ 
    id : 'demo-chart', 
    data : myConfig, 
    height: 400, 
    width: '100%' 
});


$('#demo1').click(function() {

zingchart.exec('demo-chart','addplot',{
        //plotid : 'http://mine/2',
        'data' : {
            plotid : 'http://mine/2',
            'values':[69,68,54,48,70,74,98,70,72,68,49,69],
            text : 'To be removed'
        }
});

zingchart.exec('demo-chart', 'addplot', {
    data : {
        values : [10, 20, 15],
        text : 'To stay'
    }
});

zingchart.exec('demo-chart','removeplot',{
        //plotid : 'http://mine/2',
        data : {
            plotid : "http://mine/2"
        }
    });


});

编辑: 正如所指出的patrick-rodee,解决方案是这样的:

  • 添加绘图时,在内部使用id(not plotid) 。data
  • 删除绘图时使用plotid(不带)。data

    var myConfig = {
    'type':'line',
     'series':[
    
           ]
       };
       zingchart.render({ 
        id : 'demo-chart', 
        data : myConfig, 
        height: 400, 
        width: '100%' 
       });
    
    
       $('#demo1').click(function() {
    
       zingchart.exec('demo-chart','addplot',{
               'data' : {
                   id : 'http://mine/2',
                   'values':[69,68,54,48,70,74,98,70,72,68,49,69],
                   text : 'To be removed'
              }
       });
    
       zingchart.exec('demo-chart', 'addplot', {
        data : {
            values : [10, 20, 15],
            text : 'To stay'
        }
       });
    
       zingchart.exec('demo-chart','removeplot',{
               plotid : 'http://mine/2',
           });
    
    
       });
    

编辑2:

顺便说一句,默认情况下的行为似乎有点令人困惑:如果添加两个图,一个将绘制为蓝色,另一个绘制为红色,然后删除蓝色图,然后再次添加 -> 它将被绘制在红色,所以会有两个颜色相同的图。

4

1 回答 1

7

您的removeplot电话正在传递 aplotindex而不是 a plotid。您还应该将调用的plotid内部移到addchart数据对象之外。

这是一个工作示例,它添加一个带有 id 的图,然后通过它们的 id 删除两个图:http: //demos.zingchart.com/view/8FG93JTH

它应该提供足够的工作代码来帮助您解决问题。

我在 ZingChart 团队。我们在这里非常活跃。如果您有更多问题,请大声喊叫。

于 2016-03-14T16:27:50.203 回答