这可能是一个简单的问题,但我无法在任何地方找到答案。我有一个动态添加新图的图表。现在我需要删除一些图,但是我需要通过 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
(notplotid
) 。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:
顺便说一句,默认情况下的行为似乎有点令人困惑:如果添加两个图,一个将绘制为蓝色,另一个绘制为红色,然后删除蓝色图,然后再次添加 -> 它将被绘制在红色,所以会有两个颜色相同的图。