Я ранее задавал вопрос здесь
наконец-то я нашел решение, но на графике есть проблема, у нас должно отображаться 4 строки графиков, но ничего не отображается,
первая линия графика (серия заказов) - это проблема, и ничего не появляется на графике.
однако, когда я отключил остальные (3 строки графика) и включил первую линию графика, появляется только первая линия графика.
в моей консоли браузера это выглядит:
ОШИБКА TypeError: Невозможно прочитать свойство 'конструктор' из неопределенного
в XAxisTicksComponent.tickFormat (index.js: 6489)
в Object.eval [как updateRenderer] (XAxisTicksComponent.html: 5)
в Object.debugUpdateRenderer [как updateRenderer] (core.js: 11948)
в checkAndUpdateView (core.js: 11320)
в callViewAction (core.js: 11556)
в execEmbeddedViewsAction (core.js: 11519)
в checkAndUpdateView (core.js: 11316)
в callViewAction (core.js: 11556)
в execComponentViewsAction (core.js: 11498)
в checkAndUpdateView (core.js: 11321)
после поиска, чтобы исправить это, я добавил в свой .html файл:
[xAxisTickFormatting]='xAxisTickFormatting'
и в моем файле .ts:
xAxisTickFormatting(val: string): string {
console.log(this.ticks);
}
console.log (this.ticks) return:
изображение 1
изображение 2
вот мой код в файле .ts:
dataChart: any[] = [
{
'name': 'orders',
'series': []
},
{
'name': 'invoices',
'series': []
},
{
'name': 'customers',
'series': []
},
{
'name': 'products',
'series': []
}
];
private loadChart() {
this.service.getChartData().subscribe(
res => { console.log(res['data']);
if (res['status_code'] === 200) {
let invoices= res['data'][0]['serieInvoices'];
let orders= res['data'][0]['serieOrders'];
let customers= res['data'][0]['serieCustomers'];
let products= res['data'][0]['serieProducts'];
let i :number;
for (i=0;i<orders.length;i++){
this.dataChart[0].series.push({
'name': orders[i]['date'],
'value': orders[i]['nbre'] ,
});
}
for (i=0;i<invoices.length;i++){
this.dataChart[1].series.push({
'name': invoices[i]['date'],
'value': invoices[i]['nbre'] ,
});
}
for (i=0;i<customers.length;i++){
this.dataChart[2].series.push({
'name': customers[i]['date'],
'value': customers[i]['nbre'] ,
});
}
for (i=0;i<products.length;i++){
this.dataChart[3].series.push({
'name': products[i]['date'],
'value': products[i]['nbre'] ,
});
}
this.dataChart = [...this.dataChart];
}
},
err => {
}
)
}
вот мой код в .html файле:
<div class="col-xxl-12">
<nb-card class="card-coubes" style="height:auto;">
<nb-card-body>
<ngx-charts-line-chart
[view]="view"
[scheme]="colorScheme"
[results]="dataChart"
[gradient]="gradient"
[xAxis]="showXAxis"
[yAxis]="showYAxis"
[legend]="showLegend"
[showXAxisLabel]="showXAxisLabel"
[showYAxisLabel]="showYAxisLabel"
[xAxisLabel]="xAxisLabel"
[yAxisLabel]="yAxisLabel"
[autoScale]="true"
[timeline]="timeline"
(select)="onSelect($event)">
</ngx-charts-line-chart>
</nb-card-body>
</nb-card>
</div>
как решить проблему?
помогите мне, пожалуйста.
заранее спасибо