javascript - Chartjs 自定义刻度数字

标签 javascript jquery charts chart.js

ChartJS 有没有办法将 0(Y 轴刻度上的第一个数字)更改为美元符号? -> $

我设法自定义它,但我不知道如何将 1 个数字更改为不同的符号。

var options = {
  pointDotRadius : 6,
  pointDotStrokeWidth : 2,
  datasetStrokeWidth : 12,
  scaleOverride: true,
  scaleSteps: 2,
  scaleStepWidth: 500,
  scaleStartValue: 0
}

我在某处读过有关scaleLabel的内容。但我不明白它是如何工作的,或者即使这就是我所需要的。或者我应该只写 scaleStartValue: null 并用 html 和 css 添加它? (我的意思是,如果 ChartJS 没有这样的功能,这就是解决方案)

有人可以帮我吗?如果要使用scaleLabel,请不要只写答案,但我需要解释如何使用它。我 future 的项目将需要它。

提前谢谢您。

最佳答案

如果传递给scaleLabel函数的值是最小值,您可以跟踪最小值并将标签设置为$。

您的代码应如下所示:

var min = Infinity;
var myBarChart = new Chart(ctx).Bar(data, {
    scaleLabel: function(e) {
        if (Number(e.value) < min)
            min = Number(e.value);
        return (Number(e.value) === min) ? '$' : e.value;
    },
});

如果您确实知道最小值,则只需检查即可。


另请参阅this Fiddle !

关于javascript - Chartjs 自定义刻度数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32842991/

相关文章:

javascript - 由于某种原因,React setstate 及其回调不起作用

javascript - 使用三元运算符处理三种不同的情况

javascript - 处理提交按钮的单击事件后未提交表单

jquery - 按 id 开头和名称选择表行

java - 动态饼图

javascript - 如何使用 D3 和 JS 字典制作多个饼图?

javascript - AWS Cognito 在 Web View 中保留经过身份验证的 session

javascript - 创建一个独立的 Javascript 对象,该对象继承自父级但不从子级继承到父级

javascript - Bootstrap slider 不工作

php - 如何从传入的 JSON 数据生成表 [Laravel、Ajax]