Nevermind. I got it sorted. Don't worry about it.

On Tue, Jun 26, 2012 at 2:34 PM, asgallant <[email protected]>wrote:

> I don't know what json_parse does for you (it's not in the standard js
> library), but the JSON string by itself will work if you remove the
> trailing semicolon at the end (see http://jsfiddle.net/asgallant/Ytwua/).
>  Note that the category picker doesn't work the way you want it to - it
> filters based on values in a column, not adding and removing columns.  A
> while back, I wrote a hack that makes it do this, however:
> http://jsfiddle.net/asgallant/WaUu2/
>
>
> On Tuesday, June 26, 2012 2:59:54 PM UTC-4, Benjamin Press wrote:
>>
>> So, I'm trying to create a DataTable in a javascript file from the data
>> I'm pulling from a text file. I pull and parse the data in a php file,
>> which returns the json encoded version. This is then passed to the
>> javascript function, parsed with json_parse(), then passed to
>> google.visualization.**DataTable(). I get the error "Table has no
>> columns" twice in the div were the table should be.
>>
>> My php function build_overview_linegraph returns a properly formatted
>> json string. I'll include a copy of the json as an attachment.
>>
>> I pass that string to the javascript function like so:
>>
>> <script type="text/javascript">
>>      alert('alarm');
>>      var alpha = '<?php echo build_overview_linegraph(**
>> array("Man_vs_Machine.txt","**Simply_Craters.txt"));?>';
>>      alert(alpha);
>>      drawLineChart("overview_time-**graph","time-controller", alpha);
>> </script>
>>
>> The alert(alpha) is to show that the json is properly created.
>>
>> drawLineChart looks like this:
>>
>> function drawLineChart(elementID, controlID, dataIn){
>>     google.load("visualization", "1", {packages:['controls','**
>> corechart']});
>>     google.setOnLoadCallback(**drawChart);
>>     alert('cheese');
>>     function drawChart() {
>>
>>         alert(dataIn);
>>
>>
>>         // this is where I'm taking the json string and trying to make my
>> data table.
>>         dataNew = json_parse(dataIn);
>>         var data = new google.visualization.**DataTable(dataNew);
>>
>>         var chartColors = ['red','blue','green'];
>>         var options = {
>>             title: 'Line Chart',
>>             hAxis: {title: 'Date', titleTextStyle: {color: 'red'}},
>>             height: 200,
>>             width: 400,
>>             colors: chartColors
>>         };
>>
>>         var LinChart = new google.visualization.**ChartWrapper({
>>             chartType: 'LineChart',
>>             containerId: elementID,
>>             dataTable: data
>>         });
>>
>>         LinChart.setOptions(options);
>>
>>         var categoryPicker = new google.visualization.**ControlWrapper({
>>                 'controlType': 'CategoryFilter',
>>                 'containerId': controlID,
>>                 'dataTable': data,
>>                 'options': {
>>                     'filterColumnIndex': 0,
>>                     'values': ['Man Vs Machine','Simp Craters'],
>>                     'ui': {
>>                         'label':'',
>>                         'caption':'Select to add data',
>>                         'allowTyping': false,
>>                         'allowMultiple': true,
>>                         'allowNone': false,
>>                         'selectedValuesLayout': 'belowStacked'
>>                     }
>>                 },
>>                 'state':{'selectedValues': ['Man Vs Machine','Simp
>> Craters']}
>>         });
>>
>>         function onControlStateChange(){
>>             var controlState = categoryPicker.getState();
>>             var selectedCols = controlState.selectedValues;
>>             var colorsPicked = [];
>>             var columns = [];
>>             columns.push(0);
>>             for(var i = 1; i < data.getNumberOfColumns(); i++){
>>                 var current = data.getColumnLabel(i);
>>                 if(selectedCols.indexOf(**current) >= 0){
>>                     columns.push(i);
>>                     colorsPicked.push(chartColors[**i-1]);
>>                 }
>>             }
>>             LinChart.setView({'columns': columns});
>>             LinChart.setOption('colors', colorsPicked);
>>             LinChart.draw();
>>         }
>>         google.visualization.events.**addListener(categoryPicker,'**
>> statechange',**onControlStateChange);
>>         LinChart.draw();
>>         categoryPicker.draw();
>>     }
>> }
>>
>>
>>
>>
>>
>> Any help I could get would be absolutely amazing! At this time, I can't
>> figure out why the table isn't drawing.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google Visualization API" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-visualization-api/-/jemvyVtXhMQJ.
>
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-visualization-api?hl=en.
>



-- 
     ∆
   ∆  ∆
Triforce!!!

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to