amCharts zoomtodates 未加载

amCharts zoomtodates not loading

堆栈中的第一个问题。试图让 zoomToDates 在我正在开发的 amCharts 中工作。我已经尝试了我能找到的其他解决方案来解决其他人的问题,但没有任何效果。所以事不宜迟...

Resources:
//www.amcharts.com/lib/3/amcharts.js
//www.amcharts.com/lib/3/serial.js
//www.amcharts.com/lib/3/amstock.js
//www.amcharts.com/lib/3/themes/black.js
//www.amcharts.com/lib/3/plugins/export/export.min.js
//www.amcharts.com/lib/3/plugins/export/export.css
//www.amcharts.com/lib/3/plugins/dataloader/dataloader.min.js

HTML:
<div id="$CHART$" style="width: 100%; height: 450px;"></div>

JS:
AmCharts.makeChart( "$CHART$", {
    "type": "stock",
    "theme": "black",
    "categoryAxesSettings.equalSpacing": true,
    "dataDateFormat":"YYYY-MM-DD",
    "valueAxes": [ {
      "position": "left",
    } ],

    "dataSets": [ {
            "title": "Bond",
            "fieldMappings": [ {
                "fromField": "open",
                "toField": "open"
            }, {
                "fromField": "high",
                "toField": "high"
            }, {
                "fromField": "low",
                "toField": "low"
            }, {
                "fromField": "close",
                "toField": "close"
            } ],
            "dataLoader": {
                    "url": "removed for Whosebug post"
            },
            "categoryField": "date"
        },
    ],

    panels: [ {
            title: "Security",
            percentHeight: 100,
            stockGraphs: [ {
                "valueField": "security",
                "type": "candlestick",
                "showBalloon": true,
                                "proCandlesticks": true,
                        "balloonText": "Open:<b>[[open]]</b><br>Low:<b>[[low]]</b><br>High:<b>[[high]]</b><br>Close:<b>[[close]]</b><br>",
                        "closeField": "close",
                        "fillColors": "#7f8da9",
                        "highField": "high",
                        "lineColor": "#7f8da9",
                        "lineAlpha": 1,
                        "lowField": "low",
                        "fillAlphas": 0.9,
                        "negativeFillColors": "#db4c3c",
                        "negativeLineColor": "#db4c3c",
                        "openField": "open",
            } ],

            stockLegend: {
                periodValueTextRegular: "[[security.close]]"
            }
        }
    ],
    chartScrollbarSettings: {
        graph: "g1"
    },
    chartCursorSettings: {
        valueBalloonsEnabled: true
    },


chart.addListener("rendered", zoomChart);
zoomChart();
function zoomChart() {
    event.chart.zoomToDates(new Date(2017, 10, 22), new Date(2017, 10, 25));
}
});

任何帮助将不胜感激。我已经为此工作了太久以至于无法承认。谢谢

您似乎正在使用 $CHART 标识符的 AmCharts Wordpress 插件。主要问题是您的 AmCharts.makeChart 调用的语法 - 您的 addListener 代码在配置中,而它应该完全在调用之外。您也没有引用实际的图表实例,也没有正确使用事件参数,例如:

var $CHART$ = AmCharts.makeChart("$CHART$", {
  // ...
});

$CHART$.addListener("rendered", zoomChart);

function zoomChart(event) {
    event.chart.zoom(new Date(2017, 10, 22), new Date(2017, 10, 25));
};

您还必须对股票图表使用 zoom,因为 zoomToDates 不起作用。

理想情况下,您应该使用 listeners 数组而不是 addListener,因为您有时 运行 可能会在调用 addListener 之前触发 rendered 等事件的时间问题:

AmCharts.makeChart("$CHART$", {
  // all of your other config and data omitted
  "listeners": [{
    "event": "rendered",
    "method": function(event) {
      event.chart.zoom(new Date(2017, 10, 22), new Date(2017, 10, 25));
    }
  }]
});