javascript - 如何更改图表js中列的颜色
问题描述
链接codepen: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/chart.js@2.8.0"></script>
当列的值为 0 并更改 col 的位置时,我想更改列的颜色。谢谢
解决方案
嗨,您必须在数据集中的 backgroundColor-Parameter 中提供一个数组:请参见此处:
var labels = ["001", "002", "003", "004", "005", "006", "007"];
var data = [20, 59, 80, 81, 56, 55, 40];
for (var i = 0, len = labels.length; i < len; i++) {
**background_colors**.push(getRandomColor());
}
var barChartData = {
labels: labels,
datasets: [{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.5)",
strokeColor: "rgba(220,220,220,0.8)",
highlightFill: "rgba(220,220,220,0.75)",
highlightStroke: "rgba(220,220,220,1)",
backgroundColor: **background_colors**,
data: data
}]
};
这应该工作!
推荐阅读
- javascript - 浏览器弹出窗口未在 selenium 中关闭
- excel - 具有多个输入的特定文本词的搜索选项 [=IF(ISNUMBER(SEARCH("apple",A1)),"Y"," ")]
- java - Appium 无法启动新会话
- powershell-3.0 - 每次出现@时在Powershell中拆分字符串并保存子字符串
- javascript - 泛化函数以重用不同的元素
- php - 使用 curl 从 mailchip 获取数据我在哪里将 api 密钥放在 curl 调用中
- java - 格式标志转换不匹配异常
- mongodb - 如何更新嵌套数组中的值?
- python - 音乐机器人完全停止音乐而不是跳过一首歌 discord.py
- c - AVR Xmega USART 读取完整字符串的问题