【问题标题】:Set max value for each label with Chart.js使用 Chart.js 为每个标签设置最大值
【发布时间】:2023-12-26 01:06:01
【问题描述】:

我正在使用 Chart.js,它很棒,但我有一个问题,我用 Chart.js 制作了这个雷达图

如您所见,我拥有的值非常分散,所以我需要为每个标签设置一个最大值,有没有办法做到这一点?

这是我的代码:

  @data = {
      labels: ["Health", "Phyisical Attack", "Magic Attack", "Phyisical Armor", "Magic Armor  "],
      datasets: [
          {
              label: "My First dataset",
              fillColor: "rgba(220,220,220,0.2)",
              strokeColor: "rgba(220,220,220,1)",
              pointColor: "rgba(220,220,220,1)",
              pointStrokeColor: "#fff",
              pointHighlightFill: "#fff",
              pointHighlightStroke: "rgba(220,220,220,1)",
              data: [@health_growth[0], @physical_attack_growth[0], @magic_attack_growth[0], @physical_armor_growth[0], @magic_armor_growth[0]]
          },
      ]
  };
  @options = {}

谢谢。

编辑:好的,我看到 scaleSteps、scaleStepWidth 和 scaleStartValue 可以完成这项工作,但我需要为每个标签设置这些值,有没有办法做到这一点?

【问题讨论】:

    标签: javascript charts chart.js


    【解决方案1】:

    只需缩放值,然后除以缩放因子,然后再显示相应的工具提示

    var scaling = [10, 10, 10, 1, 1, 1, 1];
    var data = {
        labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
        datasets: [
            {
                label: "My First dataset",
                fillColor: "rgba(220,220,220,0.2)",
                strokeColor: "rgba(220,220,220,1)",
                pointColor: "rgba(220,220,220,1)",
                pointStrokeColor: "#fff",
                pointHighlightFill: "#fff",
                pointHighlightStroke: "rgba(220,220,220,1)",
                data: [5, 5, 9, 81, 56, 55, 40].map(function (e, i) {
                    return e * scaling[i];
                })
            }
        ]
    };
    
    var ctx = document.getElementById("myChart").getContext("2d");
    var myRadarChart = new Chart(ctx).Radar(data, {
        tooltipTemplate: function (valueObject) {
            return valueObject.value / scaling[data.labels.indexOf(valueObject.label)];
        }
    });
    

    小提琴 - http://jsfiddle.net/cq1q5wuf/

    【讨论】: