如何更改ng2图表的颜色?

eda*_*rau 20 ng2-charts angular

我已经将ng2-charts添加到我的项目中并显示2个图表 - 甜甜圈和条形图.因为我添加了,所以都显示为灰色

    <base-chart class="chart"
                [colors]="chartColors"
                ...
    </base-chart> 
Run Code Online (Sandbox Code Playgroud)

component.template.html

public chartColors:Array<any> =[
    {
      fillColor:'rgba(225,10,24,0.2)',
      strokeColor:'rgba(11,255,20,1)',
      pointColor:'rgba(111,200,200,1)',
      pointStrokeColor:'#fff',
      pointHighlightFill:'#fff',
      pointHighlightStroke:'rgba(200,100,10,0.8)'
    }, ... (3x)
Run Code Online (Sandbox Code Playgroud)

到了 component.ts

是否需要更改颜色的任何其他包导入或设置错误?Chromes html检查器显示以下html输出呈现

ng-reflect-colors="[object Object],[object Object],[object Object]"
Run Code Online (Sandbox Code Playgroud)

Jor*_*ego 45

你也可以这样做:

<base-chart class="chart"
            [colors]="chartColors"
            ...
</base-chart>
Run Code Online (Sandbox Code Playgroud)

public chartColors: any[] = [
      { 
        backgroundColor:["#FF7360", "#6FC8CE", "#FAFFF2", "#FFFCC4", "#B9E8E0"] 
      }];
Run Code Online (Sandbox Code Playgroud)

  • 两小时后,这就是答案.其他任何地方都没有显示将数组放入数组中对象的backgroundColor属性.直到这篇文章,我才在绳子尽头! (3认同)

ulo*_*lou 35

你应该这样做:

  public chartColors: Array<any> = [
    { // first color
      backgroundColor: 'rgba(225,10,24,0.2)',
      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)'
    },
    { // second color
      backgroundColor: 'rgba(225,10,24,0.2)',
      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)'
    }];
Run Code Online (Sandbox Code Playgroud)

默认情况下设置灰色,这意味着您的颜色选项不起作用,因为属性名称错误.

这里有一个示例,如何调用颜色属性:

NG2-图表-github上源代码

@UPDATE:

如果只需更新backgroundColor而没有其他内容,下面的代码也可以.

public chartColors: Array<any> = [
    { // all colors in order
      backgroundColor: ['#d13537', '#b0o0b5', '#coffee', ...]
    }
]
Run Code Online (Sandbox Code Playgroud)


Ada*_*Cox 5

如果您像我一样使用带有 ng2-charts 的 MultiDataSet 的甜甜圈类型图表,并且想要更改颜色,那么您将需要执行以下操作:

public doughnutChartColors: Color[] = [
  {backgroundColor:["#9E120E","#FF5800","#FFB414"]},
  {backgroundColor:["#9E120E","#FF5800","#FFB414"]},
  {backgroundColor:["#9E120E","#FF5800","#FFB414"]}
];
Run Code Online (Sandbox Code Playgroud)

图表中的颜色属性如下:

<canvas baseChart
  [data]="doughnutChartData"
  [labels]="doughnutChartLabels"
  [chartType]="doughnutChartType"
  [colors]="doughnutChartColors">
</canvas>
Run Code Online (Sandbox Code Playgroud)

图表看起来像:

在此输入图像描述

顺便说一句..这里有一个很好的答案,讨论可访问的颜色。

我的 stackblitz演示Doughnut Chart