2017-12-01 4 views
0

Here ist ein Beispiel für das AmSerialChart, in dem Sie die Bildlaufschaltfläche verwenden können, um das Fenster über die Daten zu scrollen. Wenn Sie das Ende (oder den Anfang) erreichen und weiter scrollen, bleibt das Fenster gleich breit.AmStockChart zoomt Fenster, wenn das Fenster am Rand steht

Here ist ein weiteres Beispiel, mit dem AmStockChart. Das Fenster wird mit einer etwas anderen Methode herangezoomt: zoomToIndexes existiert für stockCharts nicht, daher wird die "Zoom" -Methode verwendet.

var chartData = generateChartData(); 
var chart = AmCharts.makeChart("chartdiv", { 
    "categoryAxesSettings": { 
     minPeriod: "fff", 
    }, 
    "chartScrollbarSettings": { 
     graph: "g1", 
     usePeriod: "fff", 
    }, 
    "dataSets": [ 
     { 
      mouseWheelZoomEnabled: false, 
      categoryField: "date", 
      dataProvider: chartData, 
      fieldMappings: [ 
       { 
        fromField: "gg1", 
        toField: "gg1" 
       }, { 
        fromField: "gg2", 
        toField: "gg2" 
       } 
      ], 
     } 
    ], 
    "mouseWheelScrollEnabled": true, 
    "panels": [ 
     { 
      stockGraphs: [ 
       { 
        id: "g1", 
        valueField: "gg1", 
        type: "step", 
       } 
      ], 
     }, { 
      stockGraphs: [ 
       { 
        valueField: "gg2", 
        type: "step", 
       } 
      ], 
     } 
    ], 
    "type": "stock", 
}); 

Wenn Sie im StockChart nach links scrollen, verkleinert sich das Fenster! Bis jetzt konnte ich keinen Grund finden, warum das SerialChart die Größe nicht reduziert, während das StockChart tut. Ich habe einen Beitrag zu SO gefunden, der besagt, dass mouseWheelZoomEnabled auf "false" gesetzt wird, diese Option ist jedoch für das SerialChart und nicht für das StockChart.

Ich denke, es ist möglich, dem Scroll-Ereignis einen Listener hinzuzufügen und zu verhindern, dass das Fenster verkleinert wird, wenn es mit der linken oder rechten Seite kollidiert ... Ich nehme an, dass es einen besseren Grund gibt.

Meine Frage: Wie kann verhindert werden, dass das Fenster im AmStockChart verkleinert wird?

Antwort

1

Sie müssen minSelectedTime in der panelsSettings setzen, um das gleiche Verhalten in einer Kursgrafik zu erreichen. Beachten Sie, dass dies auch die Scrollbar verhindern, dass zu einem kleineren Zeitrahmen Zoomen, wenn Ziehen des Schiebers direkt:

var chart = AmCharts.makeChart("chartdiv", { 
    panelsSettings: { 
    mouseWheelZoomEnabled: false, 
    minSelectedTime: 4.32e+9, 
    mouseWheelScrollEnabled: true 
    }, 
    // ... 
}); 

Demo

+0

Das hat geklappt! Vielen Dank! – Jeffrey

Verwandte Themen