如何在同一页面上呈现多个AmCharts(版本3)串行图表?

时间:2015-09-12 10:21:03

标签: amcharts

我需要一个包含多个图表的页面(渲染相同数据集的多个方面)。

  • 我使用相同的数据集
  • 使用相同的chartConfig(由$ .extend克隆
  • 2个图表
  • 都是串行类型

以下是问题代码http://jsfiddle.net/mZ2Gq/227/

var chart1 = AmCharts.makeChart("chart1div", $.extend(true, AMCHART_SERIAL_CONFIG, { "theme": "dark" }) );
var chart2 = AmCharts.makeChart("chart2div", $.extend(true, AMCHART_SERIAL_CONFIG, { "theme": "light" }) );

它只能渲染最后一个图表。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

问题在于您为两个图表使用相同的配置对象。这不起作用。

您可以使用$.extend方法中的空对象{}作为目标来解决此问题。 就像这样:

AmCharts.makeChart("chart", $.extend(true, {}, AMCHART_SERIAL_CONFIG, {theme: "dark"}));

这是您更新的fiddle

注意:如果没有必要,您应该避免使用深度合并。它会降低你的代码速度。