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中缩小尺寸?
答案 0 :(得分:1)
您必须在panelsSettings
中设置minSelectedTime
才能在股票图表中实现相同的行为。请注意,当直接拖动滑块时,这也会阻止滚动条缩放到较小的时间范围:
var chart = AmCharts.makeChart("chartdiv", {
panelsSettings: {
mouseWheelZoomEnabled: false,
minSelectedTime: 4.32e+9,
mouseWheelScrollEnabled: true
},
// ...
});