Hi All,
I have created a bar chart , now I want to filter that chart with some selector outside the chart.
I would like to know how to filter the chart data on selecting drop down list( containing Country data).
Please see my code:
How do I filter my chart with dropdown selector.
Kindly Please help me.
Thanks,
Amit
001.<!doCTYpe html> 002.<html> 003.<head> 004.<link href="kendo.metro.min.css" rel="stylesheet"> 005.<link href="kendo.common.min.css" rel="stylesheet"> 006. 007. 008.<script src="jquery.min.js"></script>009.<script src="kendo.all.min.js"></script>010. 011.</head>012.<body>013.<div id="example">014. <div class="demo-section k-content wide">015. <div id="chart"></div><label class="category-label" for="category">Search by Country:</label>
<input id="country" style="width: 150px"/>
016. </div>017. <script>018. var monthdata = [019. {month:"Jan",wordpress:"5",codeigniter:"5",highcharts:"8",country:"USA"},020. {month:"Feb",wordpress:"5",codeigniter:"2",highcharts:"8",country:"India"},021. {month:"Mar",wordpress:"6",codeigniter:"3",highcharts:"9",country:"USA"},022. {month:"Apr",wordpress:"2",codeigniter:"6",highcharts:"6",country:"India"},023. {month:"May",wordpress:"5",codeigniter:"7",highcharts:"7",country:"USA"},024. {month:"Jun",wordpress:"7",codeigniter:"1",highcharts:"10",country:"SA"},025. {month:"Jul",wordpress:"2",codeigniter:"2",highcharts:"9",country:"SA"},026. {month:"Aug",wordpress:"1",codeigniter:"6",highcharts:"7",country:"India"},027. {month:"Sep",wordpress:"6",codeigniter:"6",highcharts:"6",country:"USA"},028. {month:"Oct",wordpress:"7",codeigniter:"4",highcharts:"9",country:"India"},029. {month:"Nov",wordpress:"3",codeigniter:"6",highcharts:"8",country:"USA"},030. {month:"Dec",wordpress:"4",codeigniter:"3",highcharts:"4",country:"SA"},031. {month:"Jan",wordpress:"5",codeigniter:"6",highcharts:"7",country:"USA"}];032. 033. var sharedDataSource = new kendo.data.DataSource({034. data: monthdata,035. group:{036. field: "month",037. aggregates:[038. {field: "wordpress" , aggregate:"sum"},039. {field: "codeigniter" , aggregate:"sum"},040. {field: "highcharts" , aggregate:"sum"}041. 042. ]043. 044. 045. },046. schema:047. {048. model:{049. fields:{050. 051. wordpress: { type: "number"},052. codeigniter: { type: "number"},053. highcharts: { type: "number"},054. 055. 056. }057. }058. }059. 060. 061.});062.sharedDataSource.read();063. 064.var seriesA = [],065. seriesB = [],066. seriesC = [],067. categories = [],068. items = sharedDataSource.view(),069. length = items.length,070. item;071. 072.//create the chart series 073.for (var i = 0; i < length; i++) {074. item = items[i];075. 076. // This is what I want to do..077. //seriesA[0].push(item.aggregates.len.sum);078. //seriesA[1].push(item.aggregates.wid.sum);079. // or080. //seriesA.push([{item.aggregates.len.sum},{item.aggregates.wid.sum}]);081. 082. 083. seriesA.push(item.aggregates.wordpress.sum);084. seriesB.push(item.aggregates.codeigniter.sum);085. seriesC.push(item.aggregates.highcharts.sum);086. categories.push(item.value);087.}088.$(document).ready(function() {089. 090. $("#chart").kendoChart({091. dataSource: sharedDataSource,092. title: {093. text: "Chart Rating"094. },095. legend: {096. visible: false097. },098. seriesDefaults: {099. type: "bar",100. stack:true101. },102. series: [103. {104. name: "wordpress",105. data: seriesA,106. color: "#3CB371"},107. {108. name: "codeigniter",109. data: seriesB,110. color: "#FFA500"111. },112. {113. name: "highcharts",114. data: seriesC,115. color: "#FF0000"116. }],117. valueAxis: {118. 119. line: {120. visible: true121. },122. minorGridLines: {123. visible: true124. }125. },126. categoryAxis: {127. categories: categories,128. majorGridLines: {129. visible: false130. }131. },132. tooltip: {133. visible: true,134. template: "#= series.name #: #= value #"135. }136. }); $("#country").kendoDropDownList({
dataTextField: "country",
dataValueField: "country",
optionLabel: "All",
dataSource: monthdata
});
137.});138. 139. 140. </script>141.</div>142. 143. 144.</body>145.</html>