AmCharts.makeChart和new AmCharts.AmSerialChart();有什么区别?

k10*_*107 3 amcharts

一些AmCharts 演示使用AmCharts.makeChart

其他AmCharts 演示使用new AmCharts.AmSerialChart();

这两种方法有什么区别?

ger*_*ric 5

必须使用AmCharts.AmSerialChart()实例化所有组件(图形,轴等),向这些对象添加属性,然后将它们分配给图表。这是创建图表的一种非常低效的方式,并且,如您在文档(您的第二个链接参考)中所看到的,已弃用。
由于其版本3 AmCharts支持新的图表构造函数,因此您可以在其中以JSON格式指定所有属性。

例:

老款式:

AmCharts.ready(function () { 
                chart = new AmCharts.AmSerialChart();
                chart.pathToImages = "../amcharts/images/";
                chart.dataProvider = chartData;
                chart.categoryField = "date";

                // category axis               
                var categoryAxis = chart.categoryAxis;
                categoryAxis.parseDates = true;
                categoryAxis.minPeriod = "DD";

                // graph
                var graph = new AmCharts.AmGraph();
                graph1.valueField = "value";
                graph1.bullet = "round";
                chart.addGraph(graph1);

                var chartCursor = new AmCharts.ChartCursor();
                chartCursor.cursorPosition = "mouse";
                chart.addChartCursor(chartCursor);

                // WRITE
                chart.write("chartdiv");
});
Run Code Online (Sandbox Code Playgroud)

新样式:(doc)

AmCharts.makeChart("chartdiv", {
    type: "serial",
    pathToImages: "../amcharts/images/",
    dataProvider: chartData,
    categoryField: "date",
    categoryAxis: {
        parseDates: true,
        minPeriod: "ss"
    },
    graphs: [{
        valueField: "value",
        bullet: "round"
    }],
    chartCursor: {
        cursorPosition: "mouse"
    },
});
Run Code Online (Sandbox Code Playgroud)