图表未在 angular 2 个应用中呈现
Chart doesn't render in angular 2 app
我正在使用 ng2-charts (https://github.com/valor-software/ng2-charts)。我正在尝试创建一个饼图,但当我加载应用程序时,没有显示任何图表。我检查了我的所有组件两次是否有任何错误,但找不到任何错误,它也可以正确编译。我可能犯了一些愚蠢的错误,但不知道是什么。
标记
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ChartJS - Pie Chart</title>
<link href="style.css" ref="stylesheet"></link>
</head>
<body>
<canvas baseChart
[data]="chartData"
[labels]="chartLabels"
[options]="chartOptions"
[chartType]="chartType">
</canvas>
</body>
组件
import { Component } from '@angular/core';
@Component({
selector: 'pie-chart',
templateUrl: './pie-chart.html'
})
export class PieChartDemoComponent {
public pieChartLabels:string[] = ['Download Sales', 'In-Store Sales', 'Mail Sales'];
public pieChartData:number[] = [300, 500, 100];
public pieChartType:string = 'pie';
有人可以告诉我我在这里缺少什么吗?提前致谢。
从您的标记看来,这可能是 canvas 元素变形的问题。通常需要用 div
元素 (或具有样式 display: block
集的元素) 包裹 canvas
元素,如下所示:
<div class="chart-container">
<canvas baseChart
[data]="chartData"
[labels]="chartLabels"
[options]="chartOptions"
[chartType]="chartType">
</canvas>
</div>
这应该可以解决您的问题。
我正在使用 ng2-charts (https://github.com/valor-software/ng2-charts)。我正在尝试创建一个饼图,但当我加载应用程序时,没有显示任何图表。我检查了我的所有组件两次是否有任何错误,但找不到任何错误,它也可以正确编译。我可能犯了一些愚蠢的错误,但不知道是什么。
标记
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ChartJS - Pie Chart</title>
<link href="style.css" ref="stylesheet"></link>
</head>
<body>
<canvas baseChart
[data]="chartData"
[labels]="chartLabels"
[options]="chartOptions"
[chartType]="chartType">
</canvas>
</body>
组件
import { Component } from '@angular/core';
@Component({
selector: 'pie-chart',
templateUrl: './pie-chart.html'
})
export class PieChartDemoComponent {
public pieChartLabels:string[] = ['Download Sales', 'In-Store Sales', 'Mail Sales'];
public pieChartData:number[] = [300, 500, 100];
public pieChartType:string = 'pie';
有人可以告诉我我在这里缺少什么吗?提前致谢。
从您的标记看来,这可能是 canvas 元素变形的问题。通常需要用 div
元素 (或具有样式 display: block
集的元素) 包裹 canvas
元素,如下所示:
<div class="chart-container">
<canvas baseChart
[data]="chartData"
[labels]="chartLabels"
[options]="chartOptions"
[chartType]="chartType">
</canvas>
</div>
这应该可以解决您的问题。