angular - 关于 Angular 2 的高图表
问题描述
我正在使用 Angular 2 中的高图表,问题是,我一次只能显示一个图表。
我现在该怎么办?
两者都在 ngOninit 内部
我需要显示两个图表,我已经尝试了一切但没有用
谁能建议我该怎么做
第一个图表开始,这是一个饼图
//Pie chart starts
Highcharts.chart(this.container.nativeElement, {
// Created pie chart using Highchart
chart: {
type: 'pie',
options3d: {
enabled: true,
alpha: 45
}
},
title: {
text: 'Contents using Pie chart'
},
subtitle: {
text: '3D donut in Highcharts'
},
plotOptions: {
pie: {
innerSize: 100,
depth: 45
}
},
tooltip: {
headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of
total<br/>'
},
//GET ALL
series: [{
name: 'TOTAL chart',
data: [
{
name: 'Payment',
y:15,
drilldown: 'payment'
}
]
}],
//Drill Downs
drilldown: {
series: [
{
name: 'Payment versions',
id: 'payment',
data: [
['Payment A', 55.03],
['Payment B', 15.83]
]
}
]
}
})
//Pie chart ends
现在下一个图表开始,它是一个垂直图表
//Vertical bar chart starts
Highcharts.chart(this.container.nativeElement, {
// Created pie chart using Highchart
chart: {
type: 'column'
},
xAxis: {
type: 'category'
},
series: [{
name: 'TOTAL chart',
data: [
{
name: 'Planned',
y: 30,
drilldown: 'planned'
}
]
}],
//Drill Downs
drilldown: {
series: [
{
name: 'Planned Drill Down',
id: 'planned',
data: [
['plan A', 55.03],
['plan B', 15.83]
]
}
]
}
})
//Vertical bar chart ends
解决方案
现在,您正在将两个图表添加到同一个容器中(通过使用:)this.container.nativeElement
。
所以第二个图表覆盖了第一个图表的内容。
您需要两个单独的容器。
<div #pieChartContainer></div>
<div #barChartContainer></div>
然后在您的组件类中,您可以在 ngAfterViewInit 中访问它们并从那里获取它。
在这里,试一试:
import { Component, ViewChild } from "@angular/core";
import * as Highcharts from "highcharts";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent {
@ViewChild("pieChartContainer", { static: false }) pieChartContainer;
@ViewChild("barChartContainer", { static: false }) barChartContainer;
ngOnInit() {}
ngAfterViewInit() {
//Pie chart starts
Highcharts.chart(this.pieChartContainer.nativeElement, {
// Created pie chart using Highchart
chart: {
type: "pie",
options3d: {
enabled: true,
alpha: 45
}
},
title: {
text: "Contents using Pie chart"
},
subtitle: {
text: "3D donut in Highcharts"
},
plotOptions: {
pie: {
innerSize: 100,
depth: 45
}
},
tooltip: {
headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
pointFormat:
'<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>'
},
//GET ALL
series: [
{
name: "TOTAL chart",
data: [
{
name: "Payment",
y: 15,
drilldown: "payment"
}
]
}
],
//Drill Downs
drilldown: {
series: [
{
name: "Payment versions",
id: "payment",
data: [["Payment A", 55.03], ["Payment B", 15.83]]
}
]
}
});
//Pie chart ends
//Vertical bar chart starts
Highcharts.chart(this.barChartContainer.nativeElement, {
// Created pie chart using Highchart
chart: {
type: "column"
},
xAxis: {
type: "category"
},
series: [
{
name: "TOTAL chart",
data: [
{
name: "Planned",
y: 30,
drilldown: "planned"
}
]
}
],
//Drill Downs
drilldown: {
series: [
{
name: "Planned Drill Down",
id: "planned",
data: [["plan A", 55.03], ["plan B", 15.83]]
}
]
}
});
//Vertical bar chart ends
}
}
这是您的参考的工作演示。
推荐阅读
- python - 使用 REGEX PYTHON 的清洁列表
- amazon-web-services - AWS Fargate - 如何使用 python boto3 获取任务的公共 IP 地址
- android - 在 react native 上更改 FLIPPER_VERSION 会产生 BUILD FAILED 输出
- asp.net-core - Asp .Net Core - X-Paged-List 省略号问题
- python - 取消选择 tkinter 画布按钮
- javascript - React Admin:如何在编辑表单中显示 id 列表?
- java - 无法将地图列表插入到 Apache Cassandra
- windows - 在 Windows 命令提示符中使用 echo 清空文件内容
- javascript - 浏览器何时删除超时?
- c# - ASP.NET.Core Web API 无法连接到 MariaDB 数据库