Chart.js different scaleLine color of radar chart(angular)

slwdgvem  于 2023-04-20  发布在  Chart.js
关注(0)|答案(2)|浏览(218)

目前我在我的angular项目中使用radar-charts(chart.js)。我想改变不同部分的scaleLineColor,但不知道如何实现这个结果:

根据这一新的修正,应该可以:https://github.com/chartjs/Chart.js/pull/2732
我也试过这个:Chart.js (Radar Chart) different scaleLineColor for each scaleLine
但根本没有效果;((我想因为是老版本写的)

brqmpdu1

brqmpdu11#

gridlinescolor属性设置为要使用的颜色数组(强调我的):
网格线的颜色。如果指定为数组,则第一种颜色应用于第一条网格线,第二种颜色应用于第二条网格线,依此类推。

示例:

var chart1 = new Chart(document.getElementById('chart'), {
  type: 'radar',
  data: {
    labels: ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
    datasets: [{
      label: 'series1',
      data: [1, 2, 3, 6, 3, 2, 4]
    }]
  },
  options: {
    scale: {
      gridLines: {
        color: ['black', 'red', 'orange', 'yellow', 'green', 'blue', 'indigo']
      }
    }
  }
});
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="chart"></canvas>
7y4bm7vi

7y4bm7vi2#

我一直在寻找这个解决方案。如果现在有人看到这个的话。
澄清一下,Chart.js v3和v4的语法是not backwards compatible和Chart.js v2。
@timclutton提供的径向不同比例线颜色解决方案将适用于Chart.js v2。

v2示例:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="chart"></canvas>
var chartv2 = new Chart(document.getElementById('chart'), {
  type: 'radar',
  data: {},
  options: {
    scale: {
      gridLines: {
        color: ['black', 'red', 'orange', 'yellow', 'green', 'blue', 'indigo']
      }
    }
  }
});

要将相同的网格线颜色应用于v3或v4,请执行以下操作:

v3和v4示例:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.0.0/chart.min.js"></script>
<canvas id="chart"></canvas>
var chartv3 = new Chart(document.getElementById('chart'), {
    type: 'radar',
    data: {},
    options: {
        scales: {
            r: {
                grid: {
                    color: ['black', 'red', 'orange', 'yellow', 'green', 'blue', 'indigo']
                }
            }
        }
    }
});

相关问题