tidak dapat menampilkan tanda centang pada haxis

Saya mencoba menunjukkan nilai centang pada haxis. Di bawah ini adalah kode yang secara dinamis mengambil data dan menghasilkan diagram kolom. Masalahnya adalah dengan kode di bawah ini, DynamicTicks sumbu h tidak ditampilkan, pada sumbu h ini menunjukkan nilai yang diberikan dalam f: properti {"v": i, "f": hAxisValue} di cData. Hal yang sama juga berlaku pada contoh demo https://plnkr.co/edit/G5wUQjVZ0512RvqltIqm?p=preview tetapi ketika diterapkan di aplikasi lokal saya, nilai centang di haxis tidak ditampilkan. Ada saran?

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 sumber


Jawaban (1)


perlu memberi tanda centang pada opsi, setelah membuat tanda centang...

            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 untuk sarannya, tetap saja saya tidak dapat melihat nilai centang di haxis. Ketika saya memiliki peringatan untuk DynamicTicks, itu menunjukkan peringatan [Objek Objek],[Objek Objek]...@WhiteHat - person user8401182; 08.09.2017
comment
Maafkan aku, aku tidak punya. Saya mendapatkan nilai dari DB. Hampir saya mereplikasi kode saya di plnkr.co/edit/G5wUQjVZ0512RvqltIqm?p=preview tetapi dengan cara statis..Saat menggunakan cData[j].c[0].v di DynamicTicks.push saya mendapatkan pengecualian sudut.min.js:sourcemap:119 TypeError: Tidak dapat membaca properti 'c' yang tidak terdefinisi jadi diganti dengan nilai j seperti yang ditunjukkan di atas..@WhiteHat - person user8401182; 08.09.2017
comment
Saya perhatikan kode yang diposting dalam pertanyaan di atas, memiliki kolom pertama sebagai --› {id: "label", label: "Label", type: "string"} -- agar ticks berfungsi, kolom pertama harus bertipe 'number', 'date', dll. -- seperti yang ditunjukkan di jawaban sebelumnya ini -- ticks tidak akan berfungsi dengan sumbu diskrit ('string') - person WhiteHat; 08.09.2017
comment
Luar biasa, terima kasih berhasil :). Hargai bantuan Anda.@WhiteHat - person user8401182; 08.09.2017