Может кто-нибудь, пожалуйста, помогите мне, если есть в любом случае настроить имена свойств объекта данных серии как часть старших диаграмм, фактические имена proprty: name & y .
И когда я пытаюсь изменить эти имена свойств как vendor & rating , тогда круговая диаграмма не загружается в браузере
Я прошел через многие темы, но не смог найти решение в соответствии с моими потребностями. Так что, пожалуйста, помогите, если есть возможность обновить эти имена свойствс любыми изменениями кода, так как я получаю такой формат данных из службы остальных API, как показано выше, с различными значениями. Заранее спасибо.
app.component.ts
import {Component} from '@angular/core';
import * as Highcharts from 'highcharts';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(){
};
setStarFlag(id:number){
console.log(id);
}
Highcharts = Highcharts;
chartOptions = {
chart: {
type: 'pie',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Vendor Ratings'
},
tooltip: {
pointFormat: '{series.name}:<b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
//color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
},
showInLegend: true
},
series: {
cursor: 'pointer',
point: {
events: {
click: function(e){
const p = e.point;
this.setStarFlag(p.name);
}.bind(this)
}
}
}
},
credits: {
enabled: false
},
series: [{
name:'Rating',
data: [
{
name: 'Chrome',
y: 61.41
},
{
name: 'Internet Explorer',
y: 11.84
},
{
name: 'Firefox',
y: 10.85
},
{
name: 'Edge',
y: 4.67
},
{
name: 'Safari',
y: 4.18
},
{
name: 'Sogou Explorer',
y: 1.64
},
{
name: 'Opera',
y: 1.6
},
{
name: 'QQ',
y: 1.2
},
{
name: 'Other',
y: 2.61
}
]
}]
};
}
И посмотрите в файле app.component.ts data
объект, устанавливающий жестко закодированные данные, но в моем случае данные объекта будут поступать из службы API остальных в этом формате
[
{
vendor: 'Chrome',
rating: 61.41
},
{
vendor: 'Internet Explorer',
rating: 11.84
},
{
vendor: 'Firefox',
rating: 10.85
},
{
vendor: 'Edge',
rating: 4.67
},
{
vendor: 'Safari',
rating: 4.18
},
{
vendor: 'Sogou Explorer',
rating: 1.64
},
{
vendor: 'Opera',
rating: 1.6
},
{
vendor: 'QQ',
rating: 1.2
},
{
vendor: 'Other',
rating: 2.61
}
]
Итак, здесь я просто хочу назначить этот ответ API api этому объекту данных highcharts, но в этом случае круговая диаграмма не отображается.И так как у меня нет контроля за обновлением этих имен свойств объектов json как ответа от службы API. Теперь, как я могу сказать HighCharts, используйте vendor & рейтинг вместо name & y для отображения круговой диаграммы?
app.component.html
<highcharts-chart
[Highcharts]="Highcharts"
[options]="chartOptions"
style="width: 100%; height: 400px; display: block;"
></highcharts-chart>