我已将此答案分解为使您的图表看起来像提供的图像所需的步骤:
1。只显示最大和最小标签
首先,使用 JavaScript max() 和 min() 方法来确定数据数组中的最大值和最小值:
var min = Math.min(...data);
var max = Math.max(...data);
然后,将以下选项添加到 yAxes ticks configuration 部分:
- 将
max 和min 值设置为数据数组的最大值和最小值。
- 将
stepSize 设置为最大值和最小值之间的差值。这将确保它只显示标签中的最高和最低数字。
2。将标签移到图表右侧
这可以分两步完成:
- 添加
position: "right" 将对齐刻度yAxes 移动到图表的右侧。
- 在刻度配置中设置
mirror: true 以将标签翻转到yAxes 上,使其显示在图表中。
3。使用美元符号和 2 位小数格式化数字
要使用美元符号和两位小数来格式化数字,请在刻度选项中添加callback 函数:
callback: function(value) {
return '$' + value.toFixed(2);
}
请参阅How To Format Scale Numbers in Chart.js v2 和Formatting a number with exactly two decimals in JavaScript 了解更多信息。
4。更改颜色或隐藏yAxes 网格线
虽然您的问题是关于更改网格线的颜色,但根据提供的图像,我假设您要删除 yAxes 线。要移除网格线,请在grid line configuration 设置中将drawBorder 设置为false。
如果您确实想将网格线颜色更改为白色,color: "#fff" 将起作用,您只需确保将该行放在 gridLines 配置部分中,例如:
gridLines: {
color: "#fff"
}
5。更改标签字体格式
这不是您的问题,但如果您想更改标签字体颜色和大小,只需使用 fontColor 和 fontSize 勾选配置选项。
最终yAxes代码:
yAxes: [{
id: 'share_price',
type: 'linear',
position: "right",
gridLines: {
display: false,
drawBorder: false,
//color: "#fff"
},
ticks: {
stepSize: max - min,
min: min,
max: max,
mirror: true,
fontColor: "#fff",
fontSize: 18,
callback: function(value) {
return '$' + value.toFixed(2);
}
}
}]
JSFiddle 演示:https://jsfiddle.net/ujsg9w8r/5/