gpt4 book ai didi

javascript - 如何更改 Chart.js 中的 x 轴标签位置

转载 作者:行者123 更新时间:2023-11-29 21:05:14 24 4
gpt4 key购买 nike

是否可以更改标签位置,如 CSS 中的填充或边距? current chart

我希望标签位于 x 轴上方。

最佳答案

您可以通过以下步骤更改 xAxes 标签位置:

  1. .getContext("2d") 添加到获取 ctx Canvas 对象的调用中:

    var ctx = document.getElementById("gescanntePackzettelChart").getContext("2d");
  2. 隐藏当前 xAxes ticks:

    xAxes: [{
    ticks: {
    display: false
    }
    }
  3. options 配置中添加一个animation,并使用canvas fillText()创建新标签的方法:

    animation: {
    duration: 1,
    onComplete: function() {
    var controller = this.chart.controller;
    var chart = controller.chart;
    var xAxis = controller.scales['x-axis-0'];

    var numTicks = xAxis.ticks.length;
    var xOffsetStart = xAxis.width / numTicks;
    var halfBarWidth = (xAxis.width / (numTicks * 2));

    xAxis.ticks.forEach(function(value, index) {
    var xOffset = (xOffsetStart * index) + halfBarWidth;
    var yOffset = chart.height - 20;
    ctx.fillText(value, xOffset, yOffset);
    });

    }
    }

    对于 xOffset,要找出正确的位置,请取 xAxis 宽度并将其除以刻度标签的数量。这将告诉您每个条的宽度。然后,将该数字乘以当前 index 以将标签定位在正确栏的前面。最后,添加半个条形的宽度以使标签在条形中居中。

    对于 yOffset,从图表的高度开始并减去您想要向上移动标签的量。

工作 JSFiddle:https://jsfiddle.net/m5tnkr4n/124

关于javascript - 如何更改 Chart.js 中的 x 轴标签位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44437682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com