我使用ng2-charts在我的项目中显示图表,但无法找到更改网格表颜色的方法。我想根据其速率更改表格的网格颜色。例如1到20之间,我希望它是蓝色,在21到40之间,我希望它是绿色等等。
这是我想要制作的https://i.stack.imgur.com/HL5JZ.png
component.ts
public lineChartData:Array<any> = [
{data: [79, 22, 87, 12], label:'Series A'}
];
public lineChartLabels:Array<any> = ['January', 'February', 'March', 'April'];
public lineChartOptions:any = {
responsive: true
};
public lineChartColors:Array<any> = [
{ // grey
backgroundColor: 'rgba(148,159,177,0.2)',
borderColor: 'rgba(148,159,177,1)',
pointBackgroundColor: 'rgba(148,159,177,1)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgba(148,159,177,0.8)'
}
];
public lineChartLegend:boolean = false;
public lineChartType:string = 'line';
public chartColors: Array<any> = [
{ // first color
backgroundColor: 'red',
borderColor: 'rgba(225,10,24,0.2)',
pointBackgroundColor: 'rgba(225,10,24,0.2)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgba(225,10,24,0.2)'
}
];
component.html
<div style="display: block;">
<canvas baseChart width="400" height="200"
[datasets]="lineChartData"
[labels]="lineChartLabels"
[options]="lineChartOptions"
[colors]="lineChartColors"
[legend]="lineChartLegend"
[chartType]="lineChartType"
(chartHover)="chartHovered($event)"
(chartClick)="chartClicked($event)">
</canvas>
</div>
答案 0 :(得分:1)
YES !! 这可以使用名为chartjs-plugin-annotation的ChartJS插件来实现。
以下是一个例子:
呈现图表
使用的代码
component.ts
import { Component } from '@angular/core';
import 'chartjs-plugin-annotation';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public chartType: string = 'line';
public chartLabels: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May'];
public chartData: any[] = [{
data: [3, 1, 4, 2, 5],
label: 'Anthracnose',
fill: false
}];
public chartColors: any[] = [{
backgroundColor: 'rgba(0, 0, 0, 0.2)',
borderColor: 'rgba(0, 0, 0, 1)'
}];
public chartOptions: any = {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
annotation: {
drawTime: 'beforeDatasetsDraw',
annotations: [{
type: 'box',
id: 'a-box-1',
yScaleID: 'y-axis-0',
yMin: 0,
yMax: 1,
backgroundColor: '#4cf03b'
}, {
type: 'box',
id: 'a-box-2',
yScaleID: 'y-axis-0',
yMin: 1,
yMax: 2.7,
backgroundColor: '#fefe32'
}, {
type: 'box',
id: 'a-box-3',
yScaleID: 'y-axis-0',
yMin: 2.7,
yMax: 5,
backgroundColor: '#fe3232'
}]
}
}
}
component.html
<div class="chart-container">
<canvas baseChart
[chartType]="chartType"
[labels]="chartLabels"
[datasets]="chartData"
[colors]="chartColors"
[options]="chartOptions">
</canvas>
</div>