2014-03-26 29 views
1

我疑惑的多Y轴...amchart - 使用相同的X轴

我试图创建具有多个Y轴串行amchart,但我想他们使用相同的X轴。 Amcharts.com有一个演示(http://www.amcharts.com/demos/multiple-value-axes/

,我已经把我的输出上的jsfiddle给你看:http://jsfiddle.net/2cMMF/3/ 正如你可以看到这些年来都在X轴上显示两次,

这个脚本我已经复制,但我似乎可以正确地做到。唯一不同的是chartData:

function generateChartData() { 
      var chartData = []; 
      var xAxis; 
      var yAxis; 

      @for(j <- 0 until totalAmountForms){ 
       @for(i <- 0 until data.get(j).length) { 
       yAxis = @data.get(j).get(i) 
       xAxis = @label.get(j).get(i) 
       @if(j==0){ 
        chartData.push({ 
         values1: yAxis, 
         categories: xAxis 
       }); 
       } 
       @if(j==1){ 
        chartData.push({ 
         values2: yAxis, 
         categories: xAxis 
       }); 
       } 
       @if(j==2){ 
        chartData.push({ 
         values3: yAxis, 
         categories: xAxis 
       }); 
       } 
       @if(j==3){ 
        chartData.push({ 
         values4: yAxis, 
         categories: xAxis 
       }); 
       } 
       @if(j==4){ 
        chartData.push({ 
         values5: yAxis, 
         categories: xAxis 
       }); 
       } 
      } 
      } 
      return chartData; 
      } 

任何想法,我可能在做什么错在这里? 我也尝试过一次生成xAxis,但只是在图X轴上得到“未定义”。 这里就是我给X轴,以图:

"categoryField":"categories", 
       "categoryAxis": { 
       "parseDate": false, 
       "axisColor": "#DADADA", 
       "minorGridEnabled": true 
      } 

我使用的Play框架使用Scala(代码是有效的,并编译,但没有显示正确的图表)在一起。

回答

1

Okey,伙计们!

答案是简单地将“values”与“categories”一起推送到chartData。 见下面的例子:

function generateChartData() { 
      var chartData = []; 
      var xAxis; 
      var yAxis1; 
      var yAxis2; 
      var yAxis3; 
      var yAxis4; 
      var yAxis5; 

       @if(totalAmountForms==1){ 
        @for(i <- 0 until data.get(0).length) { 
         xAxis = @label.get(0).get(i) 
         yAxis1 = @data.get(0).get(i) 

        chartData.push({ 
         values1: yAxis1, 
         categories: xAxis 
       }); 
        } 
       } 
       @if(totalAmountForms==2){ 
        @for(i <- 0 until data.get(1).length) { 
         xAxis = @label.get(0).get(i) 
         yAxis1 = @data.get(0).get(i) 
         yAxis2 = @data.get(1).get(i) 

        chartData.push({ 
         values1: yAxis1, 
         values2: yAxis2, 
         categories: xAxis 
       }); 
        } 
       } 
       @if(totalAmountForms==3){ 
        @for(i <- 0 until data.get(2).length) { 
         xAxis = @label.get(0).get(i) 
         yAxis1 = @data.get(0).get(i) 
         yAxis2 = @data.get(1).get(i) 
         yAxis3 = @data.get(2).get(i) 

        chartData.push({ 
         values1: yAxis1, 
         values2: yAxis2, 
         values3: yAxis3, 
         categories: xAxis 
       }); 
        } 
       } 
       @if(totalAmountForms==4){ 
        @for(i <- 0 until data.get(3).length) { 
         xAxis = @label.get(0).get(i) 
         yAxis1 = @data.get(0).get(i) 
         yAxis2 = @data.get(1).get(i) 
         yAxis3 = @data.get(2).get(i) 
         yAxis4 = @data.get(3).get(i) 

        chartData.push({ 
         values1: yAxis1, 
         values2: yAxis2, 
         values3: yAxis3, 
         values4: yAxis4, 
         categories: xAxis 
       }); 
        } 
       } 
       @if(totalAmountForms==5){ 
        @for(i <- 0 until data.get(4).length) { 
         xAxis = @label.get(0).get(i) 
         yAxis1 = @data.get(0).get(i) 
         yAxis2 = @data.get(1).get(i) 
         yAxis3 = @data.get(2).get(i) 
         yAxis4 = @data.get(3).get(i) 
         yAxis5 = @data.get(4).get(i) 

        chartData.push({ 
         values1: yAxis1, 
         values2: yAxis2, 
         values3: yAxis3, 
         values4: yAxis4, 
         values5: yAxis5, 
         categories: xAxis 
       }); 
        } 
       } 
      return chartData; 
      } 

不是我写的最好的代码,但它的作品现在...