窗口处于边缘时,AmStockChart放大窗口

时间:2017-12-01 13:31:52

标签: javascript amcharts

Here是AmSerialChart的一个示例,您可以使用滚动按钮在数据上滚动窗口。当你到达结束(或开始)并继续滚动时,窗口将保持相同的宽度。

Here是使用AmStockChart的另一个例子。使用稍微不同的方法放大窗口:stockCharts不存在zoomToIndexes,因此"缩放"使用方法。

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",
});

当您在StockChart中向左滚动时,窗口将缩小! 到目前为止,我无法确定为什么SerialChart不会减小尺寸,而StockChart会这样做。我确实在SO上找到了一条帖子,说明将mouseWheelZoomEnabled设置为false,但是这个选项适用于SerialChart,而不是StockChart。

我想可以在滚动事件中添加一个列表器,并防止窗口在与左侧或右侧发生碰撞时减小尺寸,但是......我认为有更好的理由。

我的问题:如何防止窗口在AmStockChart中缩小尺寸?

1 个答案:

答案 0 :(得分:1)

您必须在panelsSettings中设置minSelectedTime才能在股票图表中实现相同的行为。请注意,当直接拖动滑块时,这也会阻止滚动条缩放到较小的时间范围:

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

Demo