Chart.js Js-仅显示特定(固定)X轴标签
我需要创建一个Chart.js,默认情况下只显示X轴上的标签0、0.1、0.2、0.3、0.4和0.5。如果需要绘制值0.013,则该值应介于0和0.1之间,但不显示其特定标签。值0.389也一样,需要在0.3和0.4之间显示,行为相同。 当前我的图形显示如下: 期望的结果如下所示: 注意:即使某些“区域”没有值,也应显示标签0、0.1、0.2、0.3、0.4和0.5。 我尝试了不同的选择,我发现“最好”的方法是控制要显示的标签数量,但这不是我想要的:Chart.js Js-仅显示特定(固定)X轴标签,chart.js,Chart.js,我需要创建一个Chart.js,默认情况下只显示X轴上的标签0、0.1、0.2、0.3、0.4和0.5。如果需要绘制值0.013,则该值应介于0和0.1之间,但不显示其特定标签。值0.389也一样,需要在0.3和0.4之间显示,行为相同。 当前我的图形显示如下: 期望的结果如下所示: 注意:即使某些“区域”没有值,也应显示标签0、0.1、0.2、0.3、0.4和0.5。 我尝试了不同的选择,我发现“最好”的方法是控制要显示的标签数量,但这不是我想要的: config = {
config = {
type: 'bar',
data: {
labels: [],
datasets: [{
data: [],
borderWidth: 2,
borderColor:'#E16972',
fill: false
}]
},
options: {
responsive: true,
tooltips: {
enabled: false
},
title: {
display: false
},
legend: {
display: false
},
elements: {
point:{
radius: 0
}
},
scales: {
yAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'psd'
},
/*ticks: {
max: 2,
min: 0,
stepSize: 0.2
},*/
ticks: {
beginAtZero: true
}
}],
xAxes: [{
display: true,
scaleLabel: {
display: false,
labelString: 'frequency'
},
ticks: {
callback: function(dataLabel, index) {
// Hide the label of every 2nd dataset. return null to hide the grid line too
return index % 2 === 0 ? dataLabel : '';
}
}
}]
}
}
}
不幸的是,您的示例代码没有显示任何数据,所以我不得不假设它可能是什么样子 在垂直条形图中,单个条形图均匀分布在x轴上的可用空间中。因此,x轴(标签)的值在您的情况下并不重要,它们的数量只需与数据值的数量匹配即可 然而,数据值的数量很重要,它必须符合线性比例。因此,在下面的可运行代码段中,我提供了15个值(其中一些值为零),并且每个0.1宽度的部分都有3个值
const data=[0,0.0003,0.0008,0.00025,0.0012,0.0018,0,0.00078,0.00034,0,0,0,0,0,0];
var canvas=document.getElementById('myChart');
新图表(画布{
类型:'bar',
数据:{
标签:data.map(v=>x'),
数据集:[{
数据:数据,
边界宽度:2,
边框颜色:'#E16972',
填充:假
}]
},
选项:{
回答:是的,
工具提示:{
已启用:false
},
标题:{
显示:假
},
图例:{
显示:假
},
比例:{
雅克斯:[{
scaleLabel:{
显示:对,
标签字符串:“psd”
},
滴答声:{
贝吉纳泽罗:是的,
步长:0.001
}
}],
xAxes:[{
显示:假
},
{
scaleLabel:{
显示:对,
标签字符串:“频率”
},
类型:'线性',
滴答声:{
最高:0.5,
步长:0.1
}
}
]
}
}
});代码>
有没有办法只显示X值0、0.1、0.3和0.5?@Alan Gularte:请为这期新杂志发布一个新问题