Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show/hide lines/data in Google Chart

Tags:

I'm trying to make a google line chart with 2 lines in it.

You should be able to turn them on and off(show/hide) by two checkboxes..

Anyone got any idea show to make this, og just give some pointers?

My guess would be some onClick jQuery stuff?

<html> <head>     <script type="text/javascript" src="https://www.google.com/jsapi"></script>     <script type="text/javascript">       google.load("visualization", "1", {packages:["corechart"]});       google.setOnLoadCallback(drawChart);       function drawChart() {         var data = google.visualization.arrayToDataTable([           ['Year', 'Sales', 'Expenses'],           ['2004',  1000,      400],           ['2005',  1170,      460],           ['2006',  660,       1120],           ['2007',  1030,      540]         ]);         var options = {           title: 'Company Performance'         };         var chart = new google.visualization.LineChart(document.getElementById('chart_div'));         chart.draw(data, options);       }     </script>   </head>   <body>     <div id="chart_div" style="width: 900px; height: 500px;"></div>   </body> </html> 
like image 480
Bidstrup Avatar asked Jul 03 '13 09:07

Bidstrup


People also ask

How do I hide the legend in my Google chart?

To hide the legend in Google Chart with JavaScript, we set the legend property to 'none' . const options = { //... legend: "none", }; to set legend to 'none' in the options object to hide the legend.


1 Answers

try this

Mark up:

 <body>    <div id="chart_div" style="width: 900px; height: 500px;"></div>     <button type="button" id="hideSales"  >Hide Sales</button>    <button type="button" id="hideExpenses"  >Hide Expence</button>   </body> 

Script:

<script type="text/javascript">   google.load("visualization", "1", {packages:["corechart"]});   google.setOnLoadCallback(drawChart);   function drawChart() {     var data = google.visualization.arrayToDataTable([       ['Year', 'Sales', 'Expenses'],       ['2004',  1000,      400],       ['2005',  1170,      460],       ['2006',  660,       1120],       ['2007',  1030,      540]     ]);     var options = {       title: 'Company Performance'     };     var chart = new google.visualization.LineChart(document.getElementById('chart_div'));      chart.draw(data, options);      var hideSal = document.getElementById("hideSales");    hideSal.onclick = function()    {       view = new google.visualization.DataView(data);       view.hideColumns([1]);        chart.draw(view, options);    }    var hideExp = document.getElementById("hideExpenses");    hideExp.onclick = function()    {       view = new google.visualization.DataView(data);       view.hideColumns([2]);        chart.draw(view, options);    }     }   </script> 
like image 185
Shinov T Avatar answered Sep 19 '22 13:09

Shinov T