Réglage de Google Charts largeur sur les temps de chargement
J'ai cette google graphique sur mon site. C'est un graphique en nuages de points pour l'instant, mais je voudrais la solution pour tous les types de graphiques.
Si vous chargez le site avec un de 700 px de large fenêtre par exemple, les dimensions du graphique ne sont pas sensibles: le tableau est trop large.
Ci-dessous le code que j'utilise.
HTML:
<div id="chart_div"></div>
CSS:
#chart_div {
width:100%;
height:20%;
}
JS:
var options = {
title: 'Weight of pro surfer vs. Volume of his pro model',
hAxis: {title: 'Weight (kg)', minValue: 53, maxValue: 100}, //55
vAxis: {title: 'Volume (l)'}, //, minValue: 20, maxValue: 40}, //20
legend: 'none',
width: '100%',
height: '100%',
colors: ['#000000'],
series: {
1: { color: '#06b4c8' },
},
legend: {position: 'top right', textStyle: {fontSize: 8}},
chartArea: {width: '60%'},
trendlines: { 0: {//type: 'exponential',
visibleInLegend: true,
color: 'grey',
lineWidth: 2,
opacity: 0.2,
labelInLegend: 'Linear trendline\n(Performance)'
}
} //Draw a trendline for data series 0.
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
google.visualization.events.addListener(chart, 'ready', myReadyHandler());
function myReadyHandler() {
chartDrawn.resolve(); }
Edit: Il semble que la div #chart_div
a la bonne taille (celle que j'ai mis avec css), mais le graphique à l'intérieur de ce div ne s'adapte pas sa taille...il reste verrouillé avec
Voir l'image:
Vous devez modifier la question pour spécifier que vous demandez sur le réglage de la largeur sur les temps de chargement, pas de sujet sensible graphiques.
OriginalL'auteur Louis | 2014-08-27
Vous devez vous connecter pour publier un commentaire.
Depuis la Visualisation de l'API graphiques ne sont pas sensibles à tous, vous avez à gérer tout sur votre propre. Typiquement, cela signifie à l'écoute de la fenêtre "zoom" de l'événement et de le restituer votre diagramme (paramètre de dimension appropriée):
Si vous définissez les dimensions du conteneur div en CSS pour cent, alors que la taille de la carte sera de définir dynamiquement en fonction de la taille de son conteneur.
c'est ce que je pensais, et c'est exactement ce que je fais déjà: j'ai mis à jour la question avec le html de sorte que vous pouvez voir. Si je change le
width
valeur de 100% à 20% par exemple, il ne permet pas de modifier la taille du graphique. Vous ckeck le ici : boardlineapp.com/#faqJ'ai dupliqué votre graphique (jsfiddle.net/asgallant/j3778edd) et ne pas avoir les mêmes problèmes avec les dimensions. Il est probable que certains CSS/javascript ailleurs sur votre site, qui est à l'origine du problème.
oui en effet c'est bizarre ! Pouvez-vous inspecter le site boardlineapp.com/#faq et regardez si vous trouvez quelques interférer css ? Parce que je ne trouve rien...Merci beaucoup pour votre aide
OriginalL'auteur asgallant
Pour moi, rien de ce qui précède travaillé ou qu'ils étaient trop complexes pour moi de lui donner un essai.
La solution que j'ai trouvé est simple et fonctionne parfaitement. Il consiste juste à la construction d'une normale Google Chart, dans mon cas, un donut graphique, puis le style à l'aide de CSS.
C'est tout. Bien sûr, vous pouvez définir d'autres valeurs pour max-width, de zoom et de marges d'avoir votre graphique s'adapte parfaitement. Mon tableau est de 800x600 (vous pouvez le voir ici).
OriginalL'auteur Olaf
mis largeur 100% de la carte et d'appeler la fonction de redimensionnement comme ci-dessous
getShotHistory
sens pour nous. Ce morceau de code que dire de nous pour écouter l'événement resize, pas plus.vous devez mettre votre propre fonction à la place de getShotHistory();. J'ai créé mon propre. Vous devez appeler la fonction où vous devez créer un graphique de la fonctionnalité. $(window).redimensionner(function(){ yourChartFunction(); }); Vous devez fournir la largeur à 100% dans votre chartChartFunction();
Je suis en supposant que vous êtes en utilisant bootstrap pour le responsive design. Vous avez besoin de joindre l'ensemble du graphique div à l'intérieur de l'autre div avec certaines classes comme le col-sm-12 col-md-4, col-lg-4 col-sm-12 col-md-6, col-lg-6 tout ce que vous voulez que par l'exigence.
OriginalL'auteur Azhar Ahmad
Pour répondre à la charge de travaux:
Bien qu'il ne marche pas de travail lorsque la taille de l'écran change en cours de session.
OriginalL'auteur Airon Roosalu
Si vous utilisez Twitter Bootstrap, depuis la v3.2 vous pouvez tirer parti de la
embed-responsive
styles:Ou si vous voulez le format 4:3:
oh, et devrait largeur de 100%??
Où voulez-vous utiliser à 100%?
OriginalL'auteur Csaba Toth
Plus efficace de redimensionnement de l'extrait est ci-dessous et réutilisables;
OriginalL'auteur Alex
La meilleure solution est de modifier la vue graphique que de la fenêtre redimensionnée:
OriginalL'auteur abdulmnam
J'ai trouvé ce Code stylo exemple utile:
Code stylo exemple de Google Graphiques Responsive
Ils ne redessiner le graphique de la fenêtre de redimensionnement à l'aide de jQuery:
OriginalL'auteur mzografski