javascript - NgChartjs条形图条颜色在Angular中不起作用
问题描述
嘿伙计们,我遇到了 ng-chartjs 的问题。我正在尝试为每个条形赋予特定的颜色,但它们都采用相同的颜色,并且当我尝试仅提供一种颜色时,颜色根本不是我试图赋予的颜色。
我正在使用ng-chartjs。
我在甜甜圈图中做同样的逻辑,但正在工作。
我想要的颜色
条形字符html代码
<div>
<div>
<canvas
ngChartjs
[datasets]="lineChartData"
[labels]="lineChartLabels"
[options]="lineChartOptions"
[legend]="true"
[chartType]="chartType"
></canvas>
</div>
</div>
Ts 条形图代码
chartType = 'bar';
lineChartData: Array<any> = [
{
label: 'Student',
fill: false,
lineTension: 0.1,
backgroundColor: [
'rgb(255, 35, 35)',
'rgb(255,114,114)',
'rgb(249,181,107)',
'rgb(238,215,107)',
'rgb(255,217,65)',
'rgb(0,187,149)',
'rgb(0,228,189)',
'rgb(107,238,212)',
],
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBackgroundColor: '#fff',
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
data: [12, 12, 10, 22, 15, 20, 25, 30],
barPercentage: 0.11,
},
];
lineChartLabels: Array<any> = [
'0 pike',
'15 pike',
'30 pike',
'45 pike',
'60 pike',
'75 pike',
'90 pike',
'100 pike',
];
lineChartOptions: any = {
responsive: true,
chartArea: {
backgroundColor: 'white',
},
title: {
display: true,
position: 'top',
},
legend: {
display: false,
},
layout: {
padding: 50,
},
scales: {
yAxes: [
{
gridLines: {
borderDash: [10],
color: 'rgb(23,6,100)',
drawBorder: false,
},
ticks: {
beginAtZero: true,
stepSize: 10,
},
},
],
xAxes: [
{
gridLines: {
display: false,
drawBorder: false,
},
},
],
},
};
解决方案
您可以使用该指令[color]
设置您的颜色,如下所示。
将此添加到您的bar-chart.ts
:
colors: Array<any> = [
'rgb(255, 35, 35)',
'rgb(255,114,114)',
'rgb(249,181,107)',
'rgb(238,215,107)',
'rgb(255,217,65)',
'rgb(0,187,149)',
'rgb(0,228,189)',
'rgb(107,238,212)'
]
并像这样修改你的bar-chart.html
:
<div>
<div>
<canvas
ngChartjs
[datasets]="lineChartData"
[labels]="lineChartLabels"
[options]="lineChartOptions"
[colors]="[{ backgroundColor: colors, hoverBackgroundColor: colors }]"
[legend]="true"
[chartType]="chartType"
></canvas>
</div>
</div>
您可以同时设置backgroundColor
's 和hoverBackgroundColor
's。
这是一个正在运行的堆栈闪电战,导致了这个视图:
祝你好运!
推荐阅读
- python - 如何找到坐标所在的道路网络的链接?(地图匹配)
- cassandra - Cassandra 如何仅使用分区键检索行?
- javascript - 优化 Instagram 嵌入以在 DOM 事件后加载
- angular - 我是 Angular 5 的新手并收到此错误:未捕获错误:模板解析错误:'employee-list' 不是已知元素:
- xml - codecept 可以查看 RSS 提要 (XML) 中的元素吗?
- javascript - 在 Chrome 扩展程序中强制代理重新身份验证
- dialogflow-es - 链接权限意图
- python - ModuleNotFoundError 与 Django,无法识别应用程序的名称
- c++ - TensorFlow C++ “NOLINT(build/namespaces)”是什么意思?
- angular - 无法在 Angular 服务中为对象的属性赋值