That's a new one. Post your code and I'll take a look.
On Friday, October 19, 2012 1:58:37 PM UTC-4, Qasim Rasouli wrote:
>
> Thanks. I can successfully make another columnchart but the table show
> this error: [object HTMLDivElement] does not fit either the Control or
> Visualization specification.
> I remove the wrapper and also reduce the columns but still not showing the
> table?!
>
> On Friday, October 19, 2012 9:38:11 PM UTC+4:30, asgallant wrote:
>>
>> There are two problems:
>>
>> 1) you use "table1" for the containerId in the table, but the div has the
>> id "table2"
>> 2) you need to pass an array to the bind method when binding multiple
>> charts:
>>
>> new google.visualization.Dashboard(document.getElementById('dashboard')).
>> bind([namePicker], [myChart, table1]).
>> draw(data);
>>
>> On Friday, October 19, 2012 12:47:00 PM UTC-4, Qasim Rasouli wrote:
>>>
>>> Thanks. I think it's better to remove PieChart and instead of that I
>>> used ColumnChart.
>>> Now I want to use several ColumnCharts and also some tables in my
>>> dashboard but only CloumnChart rendering and there's no Table? Here's my
>>> Code:
>>> <html><head>
>>> <title>Renewable Energy Projects</title>
>>>
>>> <!--Load the AJAX API-->
>>> <script type="text/javascript" src="https://www.google.com/jsapi
>>> "></script>
>>> <script type="text/javascript">
>>>
>>> // Load the Visualization API and the controls package.
>>> // Packages for all the other charts you need will be loaded
>>> // automatically by the system.
>>> google.load('visualization', '1.1', {packages:['controls','corechart',
>>> 'table']});
>>>
>>> // Set a callback to run when the Google Visualization API is loaded.
>>> google.setOnLoadCallback(initialize);
>>>
>>> function initialize() {
>>> // Replace the data source URL on next line with your data source URL.
>>> var query = new google.visualization.Query('
>>> http://spreadsheets.google.com/pub?key=0AvGcVM8k_RwUdExOclVzaEVDSlVvSTlEU2UxdTJOdFE&gid=11'
>>> );
>>>
>>>
>>> // Send the query with a callback function.
>>> query.send(drawDashboard);
>>> }
>>>
>>>
>>> function drawDashboard(response) {
>>> var data = response.getDataTable();
>>>
>>> // Everything is loaded. Assemble your dashboard...
>>> var namePicker = new google.visualization.ControlWrapper({
>>> 'controlType': 'CategoryFilter',
>>> 'containerId': 'filter_div',
>>> 'options': {
>>> 'filterColumnLabel': 'Province',
>>> 'ui': {
>>> 'labelStacking': 'horizontal',
>>> 'allowTyping': false,
>>> 'allowMultiple': false
>>> }
>>> },
>>> 'state': {'selectedValues': ['Kabul']}
>>> });
>>> var table1 = new google.visualization.ChartWrapper({
>>> chartType: 'Table',
>>> containerId: 'table1',
>>> option: {
>>> width: '920px',
>>> height: 53
>>> },
>>> view: {columns: [5, 6, 7, 8, 9, 10] }
>>> });
>>> var myChart = new google.visualization.ChartWrapper({
>>> chartType: 'ColumnChart',
>>> containerId: 'chart_div',
>>> options: {
>>> colors:['#29abe2','#fcee21', '#8cc63f'],
>>> legend: {position: 'bottom', textStyle: {color: '#666',
>>> fontSize: 10}},
>>> chartArea:{left:80,top:10,width:"100%",height:"50%"},
>>> },
>>> view: {columns: [0, 5, 7, 9]},
>>> });
>>>
>>> new
>>> google.visualization.Dashboard(document.getElementById('dashboard')).
>>> bind(namePicker, myChart, table1).
>>> draw(data)
>>>
>>> }
>>> </script>
>>>
>>> <style type="text/css">
>>> .warpper {
>>> width: 600px;
>>> font-family: Arial, Helvetica, sans-serif;
>>> font-size: 12px;
>>> margin:0px auto;
>>> padding: 10px;
>>> background-color: #FFF;
>>> }
>>> .header {
>>> height: 150px;
>>> }
>>> #filter_div {
>>> height: 20px;
>>> border-bottom: 1px #EEE solid;
>>> border-top: 1px #EEE solid;
>>> margin-bottom: 10px;
>>> padding: 10px 5px 5px 5px;
>>> }
>>> #chart_div {
>>> width: 600px;
>>> }
>>> </style>
>>> </head>
>>> <body>
>>> <div class="warpper">
>>> <div class="header">
>>> <div class="qasim">
>>> </div>
>>> </div>
>>> <!--Div that will hold the dashboard-->
>>> <div id="dashboard"></div>
>>> <!--Divs that will hold each control and chart-->
>>> <div id="filter_div"></div>
>>> <h4>Project Completed (Potential [kW])</h4>
>>> <div id="chart_div">
>>> </div>
>>> <div id="table2"></div>
>>> </div>
>>> <body>
>>> </html>
>>>
>>> Can you please help me again?
>>>
>>> On Friday, October 19, 2012 9:49:30 AM UTC+4:30, asgallant wrote:
>>>>
>>>> The answer to your first question is rather complicated, so I'll start
>>>> with the second: yes, you can have multiple pie charts. You just need to
>>>> create chart objects for each one and have a separate container div for
>>>> each one.
>>>>
>>>> To the first question, this is possible, but requires a bit of hackery
>>>> to make it work. Basically, you have to set things up so that you get the
>>>> value from the control, and then use that to group the data from the
>>>> DataTable, then draw the pie based on the grouped data. This doesn't
>>>> really work in the context of a Dashboard; the control can be a part of
>>>> one, controlling other charts, but the pie cannot be bound to the same
>>>> dashboard (the pie could be part of a second dashboard driven by the
>>>> grouped data, but that's a bit beyond this discussion - for now, just
>>>> assume the pie cannot be bound to a dashboard). Here's an example doing
>>>> it
>>>> without the dashboard: http://jsfiddle.net/asgallant/ttDGz/5/
>>>>
>>>> On Thursday, October 18, 2012 10:26:55 PM UTC-4, Qasim Rasouli wrote:
>>>>>
>>>>> Thanks so much. I tried myself a lot but didn't find this. :D
>>>>> Two more questions:
>>>>> 1- How can I have another value to complete my province value to
>>>>> become 100%. I mean having two values for my pie chart. One is the
>>>>> province
>>>>> value and another for showing total remaining percentage?
>>>>> 2- Can I use several pie charts (for example 5) inside one dashboard?
>>>>>
>>>>> Thanks agin for your help.
>>>>>
>>>>> On Friday, October 19, 2012 3:45:29 AM UTC+4:30, asgallant wrote:
>>>>>>
>>>>>> Making the pie chart work on the Percentage of Total Area column is
>>>>>> fairly simple. Set the pie chart's view.columns option to an array of
>>>>>> the
>>>>>> column indices you want to use (in this case, 0 and 3). With your
>>>>>> filter,
>>>>>> though, that would make a pie with a single value, which generally isn't
>>>>>> very useful. Here's a working example using your code:
>>>>>> http://jsfiddle.net/asgallant/ttDGz/
>>>>>>
>>>>>> On Thursday, October 18, 2012 5:45:40 PM UTC-4, Qasim Rasouli wrote:
>>>>>>>
>>>>>>> Hi everyone,
>>>>>>>
>>>>>>> I'm trying to create my first dashboard using my google
>>>>>>> spreadsheets. I'm not too much familiar with google visualization API:
>>>>>>> I create this:
>>>>>>> <html><head>
>>>>>>> <title>Renewable Energy Projects</title>
>>>>>>>
>>>>>>> <!--Load the AJAX API-->
>>>>>>> <script type="text/javascript" src="https://www.google.com/jsapi
>>>>>>> "></script>
>>>>>>> <script type="text/javascript">
>>>>>>>
>>>>>>> // Load the Visualization API and the controls package.
>>>>>>> // Packages for all the other charts you need will be loaded
>>>>>>> // automatically by the system.
>>>>>>> google.load('visualization', '1.1',
>>>>>>> {'packages':['controls','linechart']});
>>>>>>>
>>>>>>> // Set a callback to run when the Google Visualization API is
>>>>>>> loaded.
>>>>>>> google.setOnLoadCallback(initialize);
>>>>>>>
>>>>>>> function initialize() {
>>>>>>> // Replace the data source URL on next line with your data source
>>>>>>> URL.
>>>>>>> var query = new google.visualization.Query('
>>>>>>> http://spreadsheets.google.com/pub?key=0AvGcVM8k_RwUdExOclVzaEVDSlVvSTlEU2UxdTJOdFE&gid=11'
>>>>>>> );
>>>>>>>
>>>>>>>
>>>>>>> // Send the query with a callback function.
>>>>>>> query.send(drawDashboard);
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> function drawDashboard(response) {
>>>>>>> var data = response.getDataTable();
>>>>>>> // Everything is loaded. Assemble your dashboard...
>>>>>>> var namePicker = new google.visualization.ControlWrapper({
>>>>>>> 'controlType': 'CategoryFilter',
>>>>>>> 'containerId': 'filter_div',
>>>>>>> 'options': {
>>>>>>> 'filterColumnLabel': 'Province',
>>>>>>> 'ui': {
>>>>>>> 'labelStacking': 'horizontal',
>>>>>>> 'allowTyping': false,
>>>>>>> 'allowMultiple': false
>>>>>>> }
>>>>>>> }
>>>>>>> });
>>>>>>>
>>>>>>> var pieChart = new google.visualization.ChartWrapper({
>>>>>>> 'chartType': 'PieChart',
>>>>>>> 'containerId': 'chart_div',
>>>>>>> 'options': {
>>>>>>> 'width': 300,
>>>>>>> 'height': 300,
>>>>>>> 'pieSliceText': 'value',
>>>>>>> 'legend': 'right'
>>>>>>> }
>>>>>>> });
>>>>>>> var dashboard = new
>>>>>>> google.visualization.Dashboard(document.getElementById('dashboard_div')).
>>>>>>> bind(namePicker, pieChart).
>>>>>>> draw(data)
>>>>>>>
>>>>>>> }
>>>>>>> </script>
>>>>>>>
>>>>>>> <style type="text/css">
>>>>>>> .warpper {
>>>>>>> width: 600px;
>>>>>>> font-family: Arial, Helvetica, sans-serif;
>>>>>>> font-size: 12px;
>>>>>>> margin:0px auto;
>>>>>>> padding: 10px;
>>>>>>> background-color: #EEE;
>>>>>>> }
>>>>>>> .header {
>>>>>>> height: 150px;
>>>>>>> }
>>>>>>> #filter_div {
>>>>>>> height: 20px;
>>>>>>> border-bottom: 1px #FFFFFF solid;
>>>>>>> border-top: 1px #FFFFFF solid;
>>>>>>> margin-bottom: 10px;
>>>>>>> padding: 10px 5px 5px 5px;
>>>>>>> }
>>>>>>> #chart_div {
>>>>>>> width: 190px;
>>>>>>> }
>>>>>>> </style>
>>>>>>> </head>
>>>>>>> <body>
>>>>>>> <div class="warpper">
>>>>>>> <div class="header">
>>>>>>> <div class="qasim">
>>>>>>> </div>
>>>>>>> </div>
>>>>>>> <!--Div that will hold the dashboard-->
>>>>>>> <div id="dashboard_div">
>>>>>>> <!--Divs that will hold each control and chart-->
>>>>>>> <div id="filter_div"></div>
>>>>>>> <div id="chart_div"></div>
>>>>>>> </div>
>>>>>>> </div>
>>>>>>> <body>
>>>>>>> </html>
>>>>>>>
>>>>>>> I have a filter that filtering using Province column in my sheet
>>>>>>> (filter is working). So, I need to make a pie chart from *Percentage
>>>>>>> of Total Area (%) *column that to show a percentage of each
>>>>>>> province area. So I need a pie chart to show the percentage of each
>>>>>>> province and total percentage that is the sum of the column.
>>>>>>> Can anyone help me?
>>>>>>> Thanks in advance.
>>>>>>>
>>>>>>
--
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/-/Gk50eb5obP0J.
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.