I create a Google charts' with width=100%:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
["test", "val", { role: "style" } ],
["test", 21.45, "color: red"]
]);
var options = {
height: '300px',
width: '100%'
};
var view = new google.visualization.DataView(data);
var chart = new google.visualization.ColumnChart(document.getElementById("columnchart_values"));
chart.draw(view,options);
}
</script>
<div id="columnchart_values"></div>
Then, I create the same charts with display=none beginning. and shows chart after click:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
["test", "val", { role: "style" } ],
["test", 21.45, "color: red"]
]);
var options = {
width: '100%'
};
var view = new google.visualization.DataView(data);
var chart = new google.visualization.ColumnChart(document.getElementById("columnchart"));
chart.draw(view,options);
}
function test() {
document.getElementById("columnchart").style.display = "block";
}
</script>
<div onclick="javascript:test()"> click me </div>
<div id="columnchart" style="width: 100%; height: 300px; display:none;"></div>
But it seems in the second method, Google charts' width style not working and only show the default width. Can anyone helps me? Thank you very much!
from Why Google charts' width not working when change display from none to block?
No comments:
Post a Comment