BoldDesk®Customer service software offering ticketing, live chat, and omnichannel support, starting at $49/mo. for 10 agents. Try it for free.
// initial data source for six series
this.EfficiencyList = [
{
'level': [
{'Year': '2005', 'yName': 28},
//…
]
},
{
'level': [
{'Year': '2005', 'yName': 31},
//…
]
},
{
'level': [
{'Year': '2005', 'yName': 36},
//…
},
{
'level': [
{'Year': '2005', 'yName': 48},
//…
},
{
'level': [
{'Year': '2005', 'yName': 61},
//…
]
},
{
'level': [
{'Year': '2005', 'yName': 71},
//…
]
},
];
// initially create the series dynamically
<ej-chart id="chart-container">
<template repeat.for="level of EfficiencyList">
<ej-series e-data-source.bind="level.level" e-x-name="Year" e-y-name="yName" e-type="line" e-marker.bind="marker">
</ej-series>
</template>
</ej-chart>
// change series count in the drop down
<select value.bind="changedValue" change.trigger="onChange(changedValue)">
<option value="6">6</option>
<option value="4">4</option>
<option value="2">2</option>
</select>
//Updated the series properties
onChange(value) {
//Get instance of chart
var chartObj = $("#chart-container").data("ejChart");
//make the series empty before adding the new series
chartObj.model.series =[];
for (let i = 0; i < value; i++) {
chartObj.model.series.push({
dataSource: this.EfficiencyList[i].level, xName: 'Year', yName: 'yName', type:'line'
})
}
chartObj.redraw();
} |