Comment définissez-vous la taille d'un graphique Google en pourcentage: J'ai ceci dans le html:
<div id="chart_div" width="90%" height="20%"></div>
et pas de largeur ni de hauteur dans les options du js.
Mais la taille du graphique ne s'adapte pas à la fenêtre d'affichage.
Tout d'abord, utilisez des styles pour définir vos dimensions, pas des attributs:
<div id="chart_div" style="width: 90%; height: 20%;"></div>
Le graphique dessine à la taille du div par défaut, mais les graphiques ne répondent pas. Vous devez accrocher un gestionnaire d'événements "redimensionner" à la fenêtre (ou à un autre élément si vous redimensionnez dans une fenêtre) qui redessine le graphique:
function resizeChart () {
chart.draw(data, options);
}
if (document.addEventListener) {
window.addEventListener('resize', resizeChart);
}
else if (document.attachEvent) {
window.attachEvent('onresize', resizeChart);
}
else {
window.resize = resizeChart;
}
En multipliant avec le facteur approprié à $ (window) .width () ou $ (window) .height () dans les options du graphique
var options = {
width: $(window).width(),
height: $(window).height()*0.75
};
Google vous recommande de styliser, comme la réponse ci-dessus, avec un CSS correct, ce qui rend un graphique moins glitch. Cependant, vous pouvez le dimensionner en Javascript ...
https://developers.google.com/chart/interactive/docs/basic_customizing_chart
Donc, pour les options lorsque vous dessinez le graphique (en utilisant chart.draw(data, options)
comme ci-dessus) ...
var options = {
width:400,
height:300
}
Un bon violon pour un design réactif est ici ...
http://jsfiddle.net/toddlevy/pyAz5/
$(window).resize(function(){
var container = document.getElementById("chart_div").firstChild.firstChild;
container.style.width = "100%";
chart.draw(data, options);
});
Veuillez supprimer les propriétés width et height des options des scripts, puis ajouter le style suivant à votre page
<style>
.chart {
width: 100%;
min-height: 450px;
}
.row {
margin: 0 !important;
}
</style>