web-dev-qa-db-fra.com

Échelle des axes dans les graphiques Google (à partir des feuilles de calcul Google)

J'ai généré des feuilles de calcul Google sous forme de graphique. Dans mon rapport pour l'axe horizontal, j'ai des valeurs: 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000. Le graphique les interprète comme des étiquettes, pas comme un nombre:

enter image description here

La distance entre 1 et 4 est donc la même qu'entre 20 et 50. Comment la changer? (Peut-être que je dois transformer les données d'entrée - comment?)

Voici ma feuille de calcul avec les données d'entrée, la requête et le graphique.

Je veux l'intégrer dans une page Web avec un tel script:

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/static/modules/gviz/1.0/chart.js"> 
{"dataSourceUrl":"//spreadsheets.google.com/spreadsheet/tq?key=0AtdHElsKyNw9dERVZ1lZRVNmYmRqSlVVbWszd3BVdGc&transpose=0&headers=1&range=F1%3AI21&gid=0&pub=1",
"options":{
    "reverseCategories":false,"titleX":"thousand objects","backgroundColor":"#FFFFFF","pointSize":0,
    "width":510,
    "vAxis":{"format":"#0.##########"},
    "smoothLine":true,"lineWidth":2,"logScale":false,"hasLabelsColumn":true,
    "hAxis":{"maxAlternation":1},
    "vAxes":[{"min":null,"title":"ms","max":null,"maxValue":null}],
    "title":"Performance of exposing previous value in AspectJ set-pointcut",
    "height":400,"interpolateNulls":false,"legend":"bottom","reverseAxis":false
},
"state":{},
"chartType":"LineChart",
"chartName":"Performance test"
} </script>
15
zacheusz

Vous pouvez le faire en configurant l'axe vertical dans la zone Paramètres avancés.

enter image description here

Je viens de le faire et cela a fonctionné comme un charme. :)

8
Josh Koenig

Dans Google Spreadsheet, le seul type de graphique que je connaisse comprendre les axes comme des nombres est le Scatter.

Si cela ne vous convient pas (par exemple parce que vous voulez une ligne spécifiquement), alors vous devez travailler les données. Autrement dit, vous devez déterminer une étape fixe de vos axes, par exemple 10 (ou toute autre résolution que vous jugez nécessaire) et remplissez les colonnes de données à l'aide d'une formule basée sur vos données, comme une régression linéaire entre les points adjacents ou une interpolation polynomiale.

Je ne suis pas très compétent dans la fonction QUERY, cela peut peut-être vous aider à le faire automatiquement. Je sais seulement comment le faire en utilisant d'autres structures de formules "plus compliquées" avec ArrayFormulas et ainsi de suite.

4
Henrique G. Abreu

J'ai trouvé une autre solution. Utilisez le type pour les données de l'axe X comme "nombre" (pas comme chaîne) et graphique linéaire

Vérifiez cette documentation pour plus de détails: https://developers.google.com/chart/interactive/docs/customizing_axes#Discrete_vs_Continuous

3
Andrzej