Chart js - 折线图为边界线切割边框
Chart js - Line chart cuts border for lines in boundaries
我对图表 js 折线图如何为边界线切割边框感到惊讶。
我预计 [1 月、2 月] 的边界与 [2 月、3 月] 相同。
我知道图表 js 为刻度和刻度提供了一些回调(例如 afterBuildTicks),然后我可以订阅此事件并修改图表刻度数组。但我认为这是开销。
任何想法如何让它变得更容易?
JSFiddle : https://jsfiddle.net/yoax05yx/
var canvas = document.getElementById('myChart');
enter code here var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
data: [0, 0, 20, 0, 0, 100, 100],
fill: false,
}
]};
var myBarChart = Chart.Line(canvas,{
data:data, options:{}});
相同,只有数据:https://jsfiddle.net/muz639kL/1/
Chart.js 在自动调整刻度和找出刻度步长和间距的最佳配置方面做得很好,但它并不总是完美的。在您的示例中,由于您的数据点直接位于 x 轴和顶部网格线上,因此这些线似乎被切断了。
发生这种情况时,您必须采取更明确的比例定义。在这种情况下,您可以设置勾号 min
和 max
,以便比例尺延伸超过您的数据点,从而防止线剪裁。
这是一个例子。
var myBarChart = Chart.Line(canvas, {
data: data,
options: {
scales: {
yAxes: [{
ticks: {
min: -20,
max: 140
}
}]
}
}
});
我分叉了你的 jsfiddle,在你的具体示例中展示了它的样子。这是 updated version.
我使用了解决方法来防止线被切断:
ticks: {
callback(tick) {
if (!Number.isInteger(tick)) {
return ''
}
return tick
},
min: -0.9,
max: 100.9,
},
我对图表 js 折线图如何为边界线切割边框感到惊讶。 我预计 [1 月、2 月] 的边界与 [2 月、3 月] 相同。 我知道图表 js 为刻度和刻度提供了一些回调(例如 afterBuildTicks),然后我可以订阅此事件并修改图表刻度数组。但我认为这是开销。 任何想法如何让它变得更容易?
JSFiddle : https://jsfiddle.net/yoax05yx/
var canvas = document.getElementById('myChart');
enter code here var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
data: [0, 0, 20, 0, 0, 100, 100],
fill: false,
}
]};
var myBarChart = Chart.Line(canvas,{
data:data, options:{}});
相同,只有数据:https://jsfiddle.net/muz639kL/1/
Chart.js 在自动调整刻度和找出刻度步长和间距的最佳配置方面做得很好,但它并不总是完美的。在您的示例中,由于您的数据点直接位于 x 轴和顶部网格线上,因此这些线似乎被切断了。
发生这种情况时,您必须采取更明确的比例定义。在这种情况下,您可以设置勾号 min
和 max
,以便比例尺延伸超过您的数据点,从而防止线剪裁。
这是一个例子。
var myBarChart = Chart.Line(canvas, {
data: data,
options: {
scales: {
yAxes: [{
ticks: {
min: -20,
max: 140
}
}]
}
}
});
我分叉了你的 jsfiddle,在你的具体示例中展示了它的样子。这是 updated version.
我使用了解决方法来防止线被切断:
ticks: {
callback(tick) {
if (!Number.isInteger(tick)) {
return ''
}
return tick
},
min: -0.9,
max: 100.9,
},