48 votes

Google Charts peut-il prendre en charge un double axe des y (axe v) ?

Le site Flot L'api graphique prend en charge les échelles à double axe v, comme le montre l'exemple suivant cet exemple .

J'utilise Google Charts. Est-ce également possible avec Google ? J'ai parcouru les exemples et la documentation, mais je n'ai pas trouvé d'exemples ou de références indiquant qu'il est possible d'utiliser des graphiques à deux axes.

112voto

QLeap Points 736

J'ai mis du temps à le comprendre, mais Google Charts fait supporter un double axe Y (axe v). Je veux utiliser l'API javascript et non l'interface hmtl.

Cet exemple peut être testé ici : http://code.google.com/apis/ajax/playground/?type=visualization#line_chart

Remplacez tout ce code par ce code montrant comment avoir deux échelles différentes pour l'axe des Y.

function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'x');
  data.addColumn('number', 'Cats');
  data.addColumn('number', 'Blanket 1');
  data.addColumn('number', 'Blanket 2');
  data.addRow(["A", 1, 1, 0.5]);
  data.addRow(["B", 2, 0.5, 1]);
  data.addRow(["C", 4, 1, 0.5]);
  data.addRow(["D", 8, 0.5, 1]);
  data.addRow(["E", 7, 1, 0.5]);
  data.addRow(["F", 7, 0.5, 1]);
  data.addRow(["G", 8, 1, 0.5]);
  data.addRow(["H", 4, 0.5, 1]);
  data.addRow(["I", 2, 1, 0.5]);
  data.addRow(["J", 3.5, 0.5, 1]);
  data.addRow(["K", 3, 1, 0.5]);
  data.addRow(["L", 3.5, 0.5, 1]);
  data.addRow(["M", 1, 1, 0.5]);
  data.addRow(["N", 1, 0.5, 1]);

  // Create and draw the visualization.
  new google.visualization.LineChart(document.getElementById('visualization')).
      draw(data, {curveType: "function",width: 500, height: 400,
    vAxes: {0: {logScale: false},
            1: {logScale: false, maxValue: 2}},
    series:{
       0:{targetAxisIndex:0},
       1:{targetAxisIndex:1},
       2:{targetAxisIndex:1}}}
          );
}

En ajoutant maxValue: 2 au code, et en définissant les séries 1 et 2 sur cet axe, ils fonctionnent correctement sur un deuxième axe.

5voto

Angelo Points 1353

Cela ne vous aidera pas, mais voici quelques informations sur les raisons pour lesquelles il pourrait ne pas être pris en charge.

La prise en charge de plusieurs axes Y n'a rien de spécial en soi et n'est pas prise en charge par au moins plusieurs progiciels graphiques récents, car cette pratique est mal vue par la communauté de visualisation des données qui crée ces outils graphiques. L'explication est qu'il est trop facile de mal interpréter le graphique et la solution recommandée est d'empiler les graphiques ou de représenter les points de données sous forme de rapports sans dimension.

Je suis d'accord pour dire que c'est conseillé dans les situations où vous tracez des données pour déterminer si des relations existent. C'est la situation dans laquelle se trouvent fréquemment les statisticiens et les autres personnes qui travaillent avec des "big data".

Cependant, il existe également des situations, par exemple en ingénierie, où les relations sont bien connues et où l'utilisateur du graphique essaie simplement d'extraire des mesures ou des points de passage spécifiques.

C'est pourquoi je pense que les fabricants d'outils graphiques font une "erreur" en ne prenant pas en charge les axes Y multiples. C'est un cas où ils ne voient pas les cas d'utilisation communs parce qu'ils ne les utilisent pas eux-mêmes.

-3voto

FrankyFred Points 115

Malheureusement, il semble que cette n'est pas pris en charge

-4voto

Raffaele Negro Points 1

Je l'ai fait.

  1. Cliquez sur la série de données
  2. Une petite boîte apparaîtra avec 2 petits carrés avec seulement deux côtés en gras chacun.
  3. Cliquez sur le deuxième

Ça pourrait être fait alors.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X