Hi
I am very new to google charts API and have been playing around with available tools and adapting code to suit my requirement.
I have a condition where I need to create two interactive charts on the same page. Mind you I found this code and have simply used it to my needs.
However, when I create two copies of the same code so that I have two charts on the same page, it does not show.
Could someone help me on how to create two interactive charts in the same page
i am posting the code as follows
Thanks
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.1', {packages: ['controls','corechart']});
</script>
<script type="text/javascript">
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['x', 'DDD', 'AAA', 'BBB'],
['2011', 0.013, 0.035, 0.035],
['2012', 0.024, 0.047, 0.0646],
['2013', 0.026, 0.077, 0.0977],
['2014', 0.037, 0.151, 0.4511],
['2015', 0.049, 0.155, 0.5615],
['2016', 0.150, 0.261, 0.8724],
['2017', 0.611, 0.248, 0.934],
['2018', 0.713, 0.337, 0.9945]
]);
var columnsTable = new google.visualization.DataTable();
columnsTable.addColumn('number', 'colIndex');
columnsTable.addColumn('string', 'colLabel');
var initState = {
selectedValues: ['AAA']
};
// put the columns into this data table (skip column 0)
for (var i = 1; i < data.getNumberOfColumns(); i++) {
columnsTable.addRow([i, data.getColumnLabel(i)]);
initState.selectedValues.push(data.getColumnLabel(i));
}
var chart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'chart_div',
dataTable: data,
options: {
title: 'Total Market',
width: 700,
height: 470,
legend: 'bottom',
vAxis: {format:'#%'},
animation:{
duration: 1000,
easing: 'out',
}
}
});
chart.draw();
var dash = new google.visualization.Dashboard(document.getElementById('dash'));
var columnFilter = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'colFilter_div',
options: {
filterColumnLabel: 'colLabel',
ui: {
label: 'Choose a Scenario',
allowTyping: true,
allowMultiple: true,
selectedValuesLayout: 'belowStacked'
}
},
state: initState
});
var junkChart = new google.visualization.ChartWrapper({
chartType: 'Table',
containerId: 'junk_div'
});
google.visualization.events.addListener(columnFilter, 'statechange', function() {
var state = columnFilter.getState();
var row;
var columnIndices = [0];
for (var i = 0; i < state.selectedValues.length; i++) {
row = columnsTable.getFilteredRows([{
column: 1,
value: state.selectedValues[i]}])[0];
columnIndices.push(columnsTable.getValue(row, 0));
}
// sort the indices into their original order
columnIndices.sort(function(a, b) {
return (a - b);
});
chart.setView({
columns: columnIndices
});
chart.draw();
});
// bind controls to junk chart and draw dash
dash.bind([columnFilter], [junkChart]);
dash.draw(columnsTable);
}
</script>
</head>
<body style="font-family: Arial;border: 0 none;">
<div id="dash">
<table>
<tr style='vertical-align: top'>
<td style='width: 16px; font-size: 0.9em;'>
<div id="colFilter_div"></div>
</td>
<td style='width: 60px'>
<div style="float: left;" id="chart_div"></div>
</td>
</tr>
</table>
</div>
<div id="junk_div" style="display: none;"></div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.1', {packages: ['controls','corechart']});
</script>
<script type="text/javascript">
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['x', 'RRR', 'PPP', 'WWW'],
['2011', 4176, 4176, 5176],
['2012', 6018, 6018, 60018],
['2013', 9277, 12100, 92100],
['2014', 15681, 78126, 78126],
['2015', 17546, 41016, 41016],
['2016', 15164, 43623, 29873],
['2017', 26334, 54329, 32426],
['2018', 26959, 61806, 3980]
]);
var columnsTable = new google.visualization.DataTable();
columnsTable.addColumn('number', 'colIndex');
columnsTable.addColumn('string', 'colLabel');
var initState = {
selectedValues: ['PPP']
};
// put the columns into this data table (skip column 0)
for (var i = 1; i < data.getNumberOfColumns(); i++) {
columnsTable.addRow([i, data.getColumnLabel(i)]);
initState.selectedValues.push(data.getColumnLabel(i));
}
var chart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'chart_div',
dataTable: data,
options: {
title: 'Total Market ',
width: 700,
height: 470,
legend: 'bottom',
vAxis: {format:'###,###'},
animation:{
duration: 1000,
easing: 'out',
}
}
});
chart.draw();
var dash = new google.visualization.Dashboard(document.getElementById('dash'));
var columnFilter = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'colFilter_div',
options: {
filterColumnLabel: 'colLabel',
ui: {
label: 'Choose a Scenario',
allowTyping: true,
allowMultiple: true,
selectedValuesLayout: 'belowStacked'
}
},
state: initState
});
var junkChart = new google.visualization.ChartWrapper({
chartType: 'Table',
containerId: 'junk_div'
});
google.visualization.events.addListener(columnFilter, 'statechange', function() {
var state = columnFilter.getState();
var row;
var columnIndices = [0];
for (var i = 0; i < state.selectedValues.length; i++) {
row = columnsTable.getFilteredRows([{
column: 1,
value: state.selectedValues[i]}])[0];
columnIndices.push(columnsTable.getValue(row, 0));
}
// sort the indices into their original order
columnIndices.sort(function(a, b) {
return (a - b);
});
chart.setView({
columns: columnIndices
});
chart.draw();
});
// bind controls to junk chart and draw dash
dash.bind([columnFilter], [junkChart]);
dash.draw(columnsTable);
}
</script>
<style type="text/css">
#chart_div {
float: left
}
#chart_div2 {
float: right
}
.clear {
clear: both;
display: none;
}
</style> ?????????
--To view this discussion on the web visit https://groups.google.com/d/msg/google-visualization-api/-/Y6RASMbT-QkJ.
You received this message because you are subscribed to the Google Groups "Google Visualization API" group.
To post to this group, send email to google-visua...@googlegroups.com.
To unsubscribe from this group, send email to google-visualizati...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-visualization-api?hl=en.
An inline style element should work, or you can put it in a separate CSS file that you load.
On Sun, Sep 9, 2012 at 1:18 AM, Diana Flores <dian...@gmail.com> wrote:
<style type="text/css">#chart_div {
float: left
}
#chart_div2 {
float: right
}
.clear {
clear: both;
display: none;
}
</style> ?????????--To view this discussion on the web visit https://groups.google.com/d/msg/google-visualization-api/-/Y6RASMbT-QkJ.
You received this message because you are subscribed to the Google Groups "Google Visualization API" group.
To unsubscribe from this group, send email to google-visualization-api+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-visualization-api?hl=en.