javascript - 如何改变图表js中的列的颜色

标签 javascript chart.js

链接代码笔:https://codepen.io/01202581905/pen/gOOYzOZ

var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
  // The type of chart we want to create
  type: 'bar',

  // The data for our dataset
  data: {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
      label: 'My First dataset',
      backgroundColor: 'rgb(255, 99, 132)',
      borderColor: 'rgb(255, 99, 132)',
      data: [0, -10, 35, 2, -19, 30, 15]
    }]
  },

  // Configuration options go here
  options: {}
});
<canvas id="myChart"></canvas>
<script src="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="37545f564543195d447705190f1907" rel="noreferrer noopener nofollow">[email protected]</a>"></script>

我想在列值为 0 时更改列的颜色并更改 col 的位置。谢谢

我想要的结果: enter image description here

最佳答案

我希望我已经解决了旅行问题:

function updateChart(chart){
    let val = 2;
    let updatedValues = [];
    chart.data.datasets[0].data.forEach((e,i)=>{
    if(e===0){
      updatedValues.push('green');
      chart.data.datasets[0].data[i] = val;
      chart.data.datasets.push({data:
        Array.from({length:chart.data.datasets[0].data.length},function(el,j){
            if(i===j) return -val
        })})
    } else {
        updatedValues.push(chart.data.datasets[0].backgroundColor)
    }

  })
  chart.data.datasets.forEach(e=>{
    e.backgroundColor = updatedValues;
  })

  chart.update()
}

并进行测试:https://jsfiddle.net/7Lbjmw6r/

关于javascript - 如何改变图表js中的列的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58229705/

相关文章:

javascript - 单击按钮切换 chart.js 数据

chart.js - Chartjs 隐藏数据点标签

angular - Chart.js 时刻语言环境

javascript - 条形图中的链接 (charts.js)

javascript - 当我 `jQuery.extend` 两个具有相同缓存对象的对象时,为什么我有共享缓存?

php - PHP 自动分配数组功能的 javascript 等价物是什么?

javascript - 保持视频纵横比最大为 100% 的宽度和高度

javascript - JavaScript 和 HTML 中的可拖动项故障

javascript - 如何使用angularjs在选择标签中使用select2显示标签

javascript - 不显示来自 JSON 数据的图表