这可能是一个简单的问题,但我无法在任何地方找到答案。我有一个图表,我动态添加新图。现在我需要删除一些图,但是我需要通过id识别图,而不是索引。
根据the documentation,可以按ID删除图表。但是,我使用的是Jquery wrapper,它只讨论了按索引删除。在任何情况下(有或没有JQuery)我都无法使它工作,我不确定这是因为我添加绘图的方式,我删除它的方式或我自己配置绘图的方式。
代码here。
(注意我使用的是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
内使用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:
顺便说一下,默认情况下的行为似乎有点混乱:如果你添加两个图,一个将以蓝色绘制,另一个以红色绘制,然后删除蓝色图,然后再次添加 - >它将以红色绘制,因此将有两个颜色相同的图。
答案 0 :(得分:6)
您的removeplot
来电正在传递plotindex
而不是plotid
。您还应该将plotid
内部的addchart
移到数据对象之外。
这是一个工作示例,添加带有ID的图表,然后按其ID删除这两个图:http://demos.zingchart.com/view/8FG93JTH
它应该提供足够的工作代码来帮助您解决问题。
我在ZingChart团队。我们在这里很活跃。霍勒,如果你有更多问题。