Domanda

C'è un modo per forzare il grafico Annotated Time Line per cambiare automaticamente scala l'asse Y quando l'utente zooma su un intervallo di date?

Controlla esempio riportato di seguito, e si noti che il valore ( "Prezzo") per 2009-10-09 è di circa due magnitudini più grande degli altri valori. Quando l'utente ingrandisce esempio 2009-10-01 - 2009-10-08, l'asse Y è invariato (facendo il grafico abbastanza inutile). C'è un modo per ridimensionare automaticamente l'asse Y in modo che in questo è esempio sarebbe variare da 0 a 25 o qualcosa di più ragionevole (e poi, naturalmente, di nuovo al default quando l'utente lo zoom out)?

Esempio: http://jsbin.com/ifogo

Il codice di esempio (come nel link qui sotto):

<script src="http://www.google.com/jsapi"></script>
<div id="visualization" style="width: 800px; height: 400px;"></div>
<script>
google.load('visualization', '1', {packages: ['annotatedtimeline' ]});
function drawVisualization() {
  var data = new google.visualization.DataTable({
  cols: [{label: 'Date', type: 'date'}, {label: 'Price', type: 'number'}],
  rows: [
    { c:[{v: new Date(2009, 10, 1) }, {v: 11 }]},
    { c:[{v: new Date(2009, 10, 2) }, {v: 12 }]},
    { c:[{v: new Date(2009, 10, 3) }, {v: 13 }]},
    { c:[{v: new Date(2009, 10, 4) }, {v: 11 }]},
    { c:[{v: new Date(2009, 10, 5) }, {v: 10 }]},
    { c:[{v: new Date(2009, 10, 6) }, {v: 16 }]},
    { c:[{v: new Date(2009, 10, 7) }, {v: 22 }]},
    { c:[{v: new Date(2009, 10, 8) }, {v: 12 }]},
    { c:[{v: new Date(2009, 10, 9) }, {v: 999 }]},
]},0.6);
var annotatedtimeline = new google.visualization.AnnotatedTimeLine(document.getElementById('visualization'));
annotatedtimeline.draw(data);
}
google.setOnLoadCallback(drawVisualization);
</script>
È stato utile?

Soluzione

Prova a usare

annotatedtimeline.draw(data, {scaleType: 'maximized'});

La Pagina di Google su quella visualizzazione mostra le varie opzioni che è possibile utilizzare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top