繁体   English   中英

amchart-使用同一X轴的多个Y轴

[英]amchart - Multiple Y-axis using the same X-axis

我很困惑

我正在尝试创建一个具有多个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轴中得到“未定义”。 这是我将xAxis赋予图表的位置:

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

我正在将Play框架与Scala一起使用(代码有效,并且可以编译,但未正确显示图形)。

哦,伙计们!

答案是将“值”与“类别”一起推送到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;  
            }

不是我编写的最好的代码,但它现在可以使用...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM