Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chart.js将x轴标签向右移动_Chart.js - Fatal编程技术网

Chart.js将x轴标签向右移动

Chart.js将x轴标签向右移动,chart.js,Chart.js,我正在使用最新的chart.js绘制一个简单的图表。 柱状图很好,但我实际上需要x标签在每个条的边界之间,就像这样,有什么方法可以达到这个目的吗? 我试过offsetGridLines:true和offsetGridLines:false,但他们实际做的是移动网格线,而不是标签,与我读到的关于他们实际行为的内容不同,我想这可能是我的选项设置中的冲突,但我不知道是哪一个,希望得到任何帮助 options: { maintainAspectRatio: false,

我正在使用最新的chart.js绘制一个简单的图表。 柱状图很好,但我实际上需要x标签在每个条的边界之间,就像这样,有什么方法可以达到这个目的吗? 我试过
offsetGridLines:true
offsetGridLines:false
,但他们实际做的是移动网格线,而不是标签,与我读到的关于他们实际行为的内容不同,我想这可能是我的选项设置中的冲突,但我不知道是哪一个,希望得到任何帮助

options: {
        maintainAspectRatio: false,
        layout: {
            padding: {
                left: 10,
                right: 25,
                top: 25,
                bottom: 0
            }
        },
        scales: {
            xAxes: [{
                gridLines: {
                    //display: false,
                    drawBorder: false,
                    padding: 20,
                    offsetGridLines: true
                },
                ticks: {           
                    beginAtZero: true,              
                }
            }],

            yAxes: [{
                ticks: {
                    padding: 10,
                },
                gridLines: {
                    color: "rgb(234, 236, 244)",
                    zeroLineColor: "rgb(234, 236, 244)",
                    drawBorder: false,
                    borderDash: [2],
                    zeroLineBorderDash: [2]
                }
            }],
        },
        legend: {
            labels: {
                boxWidth: 20
            },
            display: false
        },
        tooltips: {
            backgroundColor: "rgb(255,255,255)",
            bodyFontColor: "#858796",
            titleMarginBottom: 10,
            titleFontColor: '#6e707e',
            titleFontSize: 14,
            borderColor: '#dddfeb',
            borderWidth: 1,
            xPadding: 15,
            yPadding: 15,
            displayColors: false,
            intersect: false,
            mode: 'index',
            caretPadding: 10,
        },
    }

可以使用此选项将工具提示置于右侧。可能性包括顶部、左侧、右侧和底部

options: {
        title: {
            display: true,
            position: 'right'
        }
}

您可以添加第二个x轴
类型:“linear”
,如下所示

{
  type: 'linear',
  ticks: {
    min: 0,
    max: labels.length,
    stepSize: 1,
    callback: (v, i) => i == 0 ? '' : labels[i - 1]
  }
}
请注意,我使用a是为了在给定索引处提供所需的记号标签

然后还应隐藏默认x轴的网格线和记号

{
  gridLines: {
    display: false
  },
  ticks: {
    display: false
  }
}
请看下面的可运行示例代码,看看它是如何工作的

const标签=['4.80'、'9.60'、'14.40'、'19.20'、'24.00'、'28.80'];
新图表(document.getElementById('myChart'){
类型:'bar',
数据:{
标签:标签,
数据集:[{
标签:“我的数据集”,
数据:[4,8,5,7,2,4],
背景颜色:“橙色”,
类别类别:1,
百分比:1
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}],
xAxes:[{
网格线:{
显示:假
},
滴答声:{
显示:假
}
},
{
类型:'线性',
滴答声:{
分:0,,
max:labels.length,
步长:1,
回调:(v,i)=>i==0?'':标签[i-1]
}
}
]
}
}
});


虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-不幸的是,这是关于不存在的图表的标题,我的问题是关于标签的,谢谢你的努力。奇迹般地成功了!谢谢你的帮助很高兴我能帮忙!