I modify the server-side code. Here is new code:
var jsonData = $.ajax({
url: "js/chart.pl",
dataType: "json",
contentType: "application/json",
async: false
}).responseText;
var obj = jQuery.parseJSON(jsonData);
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Buy');
data.addColumn('number', 'Sell');
data.addRows(obj);
Server send:
[["Date(2012,10,28)",15,14],["Date(2012,10,29)",55,51],["Date(2012,10,30)",53,49]]
I receive follow Error:
Type mismatch. Value Date(2012,10,28) does not match type date in column
index 0
How to convert Date(2012,10,28) to date type?
Best regards,
Dragomir
27 ноември 2012, вторник, 23:17:04 UTC+2, asgallant написа:
>
> Can you modify the server-side code? If so, then the best method might be
> to build the DataTable as a JSON object (structure linked to in the post
> above), which you can feed directly to the DataTable constructor. There
> are examples of this in PHP on the forum here; doing it in perl would
> probably be similar.
>
> On Tuesday, November 27, 2012 2:37:10 PM UTC-5, Dragomir Haralambiev wrote:
>>
>> Hi.
>> Thanks for your replay.
>> You right if obj is generate from javascript.
>> What I do if obj is generate from AJAX like this:
>> var jsonData = $.ajax({
>> url: "js/chart.pl",
>> dataType: "json",
>> contentType: "application/json",
>> async: false
>> }).responseText;
>>
>> var obj = jQuery.parseJSON(jsonData);
>>
>>
>> Best regards,
>> Fragomir
>> 27 ноември 2012, вторник, 18:55:07 UTC+2, asgallant написа:
>>>
>>> The
>>> arrayToDataTable<https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable>method
>>> doesn't handle dates properly; your dates are being input as
>>> strings. To fix this, you will have to manually construct the DataTable
>>> (or use the
>>> json<https://developers.google.com/chart/interactive/docs/reference#dataparam>format).
>>>
>>> Here's one way you could do it manually:
>>>
>>> var obj = [
>>> [new Date(2012,10,2),15,14],
>>> //....
>>> ];
>>> var data = new google.visualization.DataTable();
>>> data.addColumn('date', 'Date');
>>> data.addColumn('number', 'Buy');
>>> data.addColumn('number', 'Sell');
>>> data.addRows(obj);
>>>
>>> Note that the format for the date is as a Date object and not a string
>>> when using this method.
>>>
>>> On Tuesday, November 27, 2012 5:37:44 AM UTC-5, Dragomir Haralambiev
>>> wrote:
>>>>
>>>> I'm trying to test the Google Chart, but I receive follow error:
>>>> "One or more participants failed to draw().
>>>> The filter cannot operate on a column of type string. Column type must
>>>> be one of: number, date, datetime or timeofday. Column role must be
>>>> domain,
>>>> and correlate to a continuous axis."
>>>>
>>>> What am I doing wrong?
>>>>
>>>>
>>>>
>>>> <script type="text/javascript" src="
>>>> https://www.google.com/jsapi"></script>
>>>> <script type="text/javascript">
>>>>
>>>> google.load('visualization', '1.0', {'packages':['controls']});
>>>> google.setOnLoadCallback(drawDashboard);
>>>>
>>>> function drawDashboard() {
>>>> var obj =
>>>> [["Date","buy","sell"],["Date(2012,10,2)",15,14],["Date(2012,10,3)",55,51],["Date(2012,10,4)",53,49]];
>>>> var dataa = google.visualization.arrayToDataTable(obj);
>>>> var dashboard = new
>>>> google.visualization.Dashboard(document.getElementById('dashboard_div'));
>>>>
>>>> var donutRangeSlider = new google.visualization.ControlWrapper({
>>>> 'controlType': 'ChartRangeFilter',
>>>> 'containerId': 'filter_div',
>>>> 'options': {
>>>> 'filterColumnIndex': 0,
>>>> 'ui': {
>>>> 'chartType': 'LineChart',
>>>> 'chartOptions': {
>>>> 'chartArea': {'width': '90%'},
>>>> 'hAxis': {'baselineColor': 'none'}
>>>> },
>>>> 'chartView': { 'columns': [0, 1] },
>>>> 'minRangeSize': 86400000
>>>> }
>>>> },
>>>> });
>>>>
>>>> var lineChart = new google.visualization.ChartWrapper({
>>>> 'chartType': 'LineChart',
>>>> 'containerId': 'chart_div',
>>>> 'options': {
>>>> title: 'Title',
>>>> }
>>>> });
>>>>
>>>> dashboard.bind(donutRangeSlider, lineChart);
>>>> dashboard.draw(dataa);
>>>> }
>>>> </script>
>>>>
>>>> Best regards,
>>>> Dragomir
>>>>
>>>
--
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/-/eHDYTeHon_kJ.
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.