Zingchart - 按 ID 添加和删除绘图
Zingchart - adding and removing plot by ID
这可能是一个简单的问题,但我找不到答案。我有一个图表,我可以在其中动态添加新图。现在我需要删除一些地块,但是我需要通过 id 而不是索引来识别地块。
根据 the documentation it is possible to remove a plot by ID. However, I am using the Jquery wrapper,它只讨论按索引删除。在任何情况下(有或没有 JQuery)我都无法让它工作,我不确定这是因为我添加绘图的方式、删除它的方式或我自己配置绘图的方式。
代码here.
(请注意,我使用的是 Jquery 包装器,但为了方便起见, fiddle 不是)。
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
所指出的,解决方案是这样的:
- 添加绘图时在
data
中使用 id
(而不是 plotid
)。
删除图时使用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:
顺便说一句,默认情况下的行为似乎有点混乱:如果添加两个图,一个将绘制为蓝色,另一个将绘制为红色,然后删除蓝色图,然后再次添加 ->它将以红色绘制,因此会有两个颜色相同的图。
您的 removeplot
调用传递的是 plotindex
而不是 plotid
。您还应该将 addchart
调用中的 plotid
移到数据对象之外。
这是一个工作示例,它添加一个带有 id 的图,然后通过它们的 id 删除两个图:http://demos.zingchart.com/view/8FG93JTH
它应该提供足够的工作代码来帮助您解决问题。
我在 ZingChart 团队。我们在这里很活跃。如果您有更多问题,请联系我们。
这可能是一个简单的问题,但我找不到答案。我有一个图表,我可以在其中动态添加新图。现在我需要删除一些地块,但是我需要通过 id 而不是索引来识别地块。
根据 the documentation it is possible to remove a plot by ID. However, I am using the Jquery wrapper,它只讨论按索引删除。在任何情况下(有或没有 JQuery)我都无法让它工作,我不确定这是因为我添加绘图的方式、删除它的方式或我自己配置绘图的方式。
代码here.
(请注意,我使用的是 Jquery 包装器,但为了方便起见, fiddle 不是)。
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
所指出的,解决方案是这样的:
- 添加绘图时在
data
中使用id
(而不是plotid
)。 删除图时使用
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:
顺便说一句,默认情况下的行为似乎有点混乱:如果添加两个图,一个将绘制为蓝色,另一个将绘制为红色,然后删除蓝色图,然后再次添加 ->它将以红色绘制,因此会有两个颜色相同的图。
您的 removeplot
调用传递的是 plotindex
而不是 plotid
。您还应该将 addchart
调用中的 plotid
移到数据对象之外。
这是一个工作示例,它添加一个带有 id 的图,然后通过它们的 id 删除两个图:http://demos.zingchart.com/view/8FG93JTH
它应该提供足够的工作代码来帮助您解决问题。
我在 ZingChart 团队。我们在这里很活跃。如果您有更多问题,请联系我们。