Я пытаюсь добавить новую серию к своим ApexCharts (в ngOnInit), но он продолжает говорить мне, что моя диаграмма не определена, хотя я инициализировал ее в конструкторе. Я выбрал диаграмму с несколькими рядами и группами строк, которую вы можете найти по следующей ссылке. https://apexcharts.com/angular-chart-demos/timeline-charts/multiple-series-group-rows/
@Component({
selector: "app-gantt",
templateUrl: "./gantt.component.html",
styleUrls: ["./gantt.component.css"]
})
export class GanttComponent implements OnInit {
@ViewChild("chart") chart: ChartComponent;
public chartOptions: Partial<ChartOptions>;
constructor() {
this.chartOptions = {
series: [
{
name: "John Adams",
data: [
{
x: "President",
y: [
new Date(1797, 2, 4).getTime(),
new Date(1801, 2, 4).getTime()
]
},
{
x: "Vice President",
y: [
new Date(1789, 3, 21).getTime(),
new Date(1797, 2, 4).getTime()
]
}
]
}
],
chart: {
height: 350,
type: "rangeBar"
},
plotOptions: {
bar: {
horizontal: true,
barHeight: "50%",
rangeBarGroupRows: true
}
},
colors: [
"#1B998B",
"#2E294E",
"#F46036",
"#E2C044"
],
fill: {
type: "solid"
},
xaxis: {
type: "datetime"
},
legend: {
position: "right"
},
tooltip: {
custom: function (opts) {
const fromYear = new Date(opts.y1).getFullYear();
const toYear = new Date(opts.y2).getFullYear();
const values = opts.ctx.rangeBar.getTooltipValues(opts);
return (
'<div class="apexcharts-tooltip-rangebar">' +
'<div> <span class="series-name" style="color: ' +
values.color +
'">' +
(values.seriesName ? values.seriesName : "") +
"</span></div>" +
'<div> <span class="category">' +
values.ylabel +
' </span> <span class="value start-value">' +
fromYear +
'</span> <span class="separator">-</span> <span class="value end-value">' +
toYear +
"</span></div>" +
"</div>"
);
}
}
};
}
ngOnInit() {
this.chart.appendSeries([{
name: "George Washington",
data: [
{
x: "President",
y: [
new Date(1789, 3, 30).getTime(),
new Date(1797, 2, 4).getTime()
]
}
]
}])
}
}