Заполните данные диаграммы из API в angular, используя ngx-p ie -charts - PullRequest
0 голосов
/ 23 января 2020

я новичок ie в angular, ниже приведен код, который использует API и получает данные в парах (имя, значение) для заполнения данных в диаграмме p ie, но диаграмма показывает только одну запись, и я есть X записей, что я делаю неправильно в приведенном ниже коде. Заранее спасибо

  this.service.getsubordintesummary(30).subscribe(res=>
   {
            this.subordinatesummary=res as subordinatesummary[]; 
       for(i=0;i<=this.subordinatesummary.length;i++)
         {
           this.widget7.device=
        [
           {
             name:this.subordinatesummary[0].subordinates[i].Description,
             value:this.subordinatesummary[0].subordinates[i].EmpCount,
           }
       ]
    }
  }


 })

JSON ДАННЫЕ:

[
  {
   "total":10,
     "subordinates":
       [
         {"Description":"IT sector","Ecount":1},
         {"Description":"MWS sector","Ecount":3}
       ]
  }
]

1 Ответ

1 голос
/ 23 января 2020

Предполагая, что ваши данные из ответа API имеют вид

this.data:any[]=[
  {
   "total":10,
     "subordinates":
       [
         {"Description":"IT sector","Ecount":1},
         {"Description":"MWS sector","Ecount":3}
       ]
  },
  {
   "total":11,
     "subordinates":
       [
         {"Description":"IT development","Ecount":5},
         {"Description":"Service","Ecount":8}
       ]
  }
]

Вам необходимо реализовать функцию итерации как

let chartData: any[]=[];
this.data.map(subordinate => subordinate.subordinates.map(item => {
  chartData.push({name: item.Description, value: item.Ecount})
  })
)

Здесь chartData содержит тип данных pireChart. как

{
    "name": "Germany",
    "value": 8940000
  },
  {
    "name": "USA",
    "value": 5000000
  },

Так как диаграмма принимает только этот формат данных.

Проверьте полное решение для скрипты. Также дайте мне знать, если вам нужно больше объяснений.

Проверьте скрипку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...