ไม่สามารถแสดงเห็บบนแฮกซิสได้

ฉันกำลังพยายามแสดง ค่าขีดบนแฮกซิส ด้านล่างนี้เป็นโค้ดที่รับข้อมูลแบบไดนามิกและสร้างแผนภูมิคอลัมน์ ปัญหาเกิดขึ้นกับโค้ดด้านล่างที่แกน h dynamicTicks จะไม่แสดง บนแกน h มันแสดงค่าที่กำหนดในคุณสมบัติ f: ของ {"v": i, "f": hAxisValue} ใน cData เช่นเดียวกับการทำงานในตัวอย่างสาธิต https://plnkr.co/edit/G5wUQjVZ0512RvqltIqm?p=preview แต่เมื่อนำไปใช้ในแอปพลิเคชันในพื้นที่ของฉัน มันจะไม่แสดงค่าขีดบน haxis มีข้อเสนอแนะอะไรบ้าง?

app.controller('myController', ['$scope', '$uibModal', 'MyService', function ($scope, $uibModal, MyService) {
    $scope.chart = {};
    $scope.chart.type = "ColumnChart";
    $scope.chart.displayed = false;
    var dynamicTicks = [];
    $scope.chart.options = {
         focusTarget: 'category',
        "fill": 20,
        "displayExactValues": true,
        "isStacked": 'true',
         tooltip: {text: 'value',textStyle: {fontName: '"Arial"'}},
        hAxis: {
            titleTextStyle: {bold: 'true'},
            slantedText: false,
            ticks: dynamicTicks
        },
      };

    $scope.chart.view = {
        columns: [0, 1, 2, 3]
    };
     $scope.chart.data = {
        "cols": [
            {id: "label", label: "Label", type: "string"},
            {id: "count", label: "Count", type: "number"},
            {id: "pizza", label: "Pizza", type: "number"},
            {id: "softDrink", label: "SoftDrink", type: "number"},
        ]
    };

    $scope.loadMyChart = function () {
        MyService.getChartData().then(
            function (response) {
                $scope.myResponse= response;
                //check for error
                var count = 0;
                var pizza = 0;
                var softDrink = 0;
                var myRows = [];
                $scope.chart.data.rows = {};
                  var i = 0; var cData=[];
                angular.forEach($scope.myResponse, function (value, key) {
                    count = value.myData.count;
                    pizza = value.myData.pizza;
                    softDrink = value.myData.softDrnk;
                    hAxisValue = value.myData.title;

                   cData = {
                        "c": [{"v": i, "f": hAxisValue}, {"v": passsed},
                            {"v": failed},
                            {"v": notExecute}, {"v": key}]
                    };
                     myRows.push(cData); i++;
           });
                alert("cData.length " + i);
                //assign the haxis ticks values
                 for (var j = 0; j < i; j++) {
                    alert("in for" + j + "Series" + (j+1)); //This alert is being executed..
                    dynamicTicks.push({
                        v: j, /*cData[j].c[0].v - when this is used, it is showing the error angular.min.js:sourcemap:119 TypeError: Cannot read property 'c' of undefined and chart is not displayed*/
                        f: 'Series ' + (j + 1)
                    });
                }
               $scope.chart.data.rows = myRows;
           },  
    }
         $scope.loadMyChart();    
}]);

person user8401182    schedule 08.09.2017    source แหล่งที่มา


คำตอบ (1)


จำเป็นต้องกำหนดเห็บให้กับตัวเลือก หลังจาก สร้างเห็บ...

            for (var j = 0; j < i; j++) {
                alert("in for" + j + "Series" + (j+1)); //This alert is being executed..
                dynamicTicks.push({
                    v: j, /*cData[j].c[0].v - when this is used, it is showing the error angular.min.js:sourcemap:119 TypeError: Cannot read property 'c' of undefined and chart is not displayed*/
                    f: 'Series ' + (j + 1)
                });
            }
            $scope.chart.options.hAxis.ticks = dynamicTicks;
person WhiteHat    schedule 08.09.2017
comment
+1 สำหรับข้อเสนอแนะ แต่ฉันยังไม่เห็นค่าเห็บบน haxis เมื่อฉันมีการแจ้งเตือนสำหรับ dynamicTicks มันแสดงการแจ้งเตือน [วัตถุวัตถุ], [วัตถุวัตถุ]...@WhiteHat - person user8401182; 08.09.2017
comment
ฉันขอโทษ ฉันไม่มี ฉันได้รับค่าจาก DB เกือบฉันได้จำลองโค้ดของฉันใน plnkr.co/edit/G5wUQjVZ0512RvqltIqm?p=preview แต่ในลักษณะคงที่ .. เมื่อใช้ cData[j].c[0].v ใน dynamicTicks.push ฉันได้รับข้อยกเว้น angular.min.js:sourcemap:119 TypeError: ไม่สามารถอ่านคุณสมบัติ 'c' ของไม่ได้กำหนด ดังนั้นให้แทนที่ โดยมีค่า j ดังภาพด้านบน..@WhiteHat - person user8401182; 08.09.2017
comment
ฉันสังเกตเห็นโค้ดที่โพสต์ในคำถามนี้ด้านบน มีคอลัมน์แรกเป็น --› {id: "label", label: "Label", type: "string"} -- เพื่อให้ ticks ทำงานได้ คอลัมน์แรกต้องเป็นประเภท 'number', 'date' ฯลฯ -- ดังที่แสดงใน คำตอบก่อนหน้านี้ -- ticks จะไม่ทำงานกับแกนแยก ('string') - person WhiteHat; 08.09.2017
comment
เยี่ยมมาก ขอบคุณมันใช้งานได้ :) ขอบคุณสำหรับความช่วยเหลือของคุณ@WhiteHat - person user8401182; 08.09.2017