Это, вероятно, простой вопрос, но я не могу найти ответ нигде. У меня есть график, где я добавляю новые графики динамически. Теперь мне нужно удалить некоторые сюжеты, однако мне нужно определить сюжет по id, а не по индексу.Zingchart - добавление и удаление участка по 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"
}
});
});
EDIT: Как указано на 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', }); });
EDIT 2:
Кстати, это, кажется, поведение по умолчанию может быть немного запутанным: если вы добавляете два участка один будет построена в голубой, другой в красный, затем удалите синий сюжет, затем добавьте его снова -> он будет нанесен красным цветом, так что будут два сюжета с одинаковым цветом.
Вы правы, моя ошибка - оставить его после тестирования. Во всяком случае, проблема заключалась в том, что идентификатор должен вводиться внутри «данных» как «id», а не как «plotid», я обновлю его в своем вопросе – user1156544