3

現在、次のような線形ゲージがあります。

$("#depthBar-" + conveyanceId).kendoLinearGauge({
    pointer: {
        value: 0,
        shape: "arrow",
        color: "transparent",
        start: 0,
        reverse: true
    },
    scale: {
        majorUnit: 500,
        minorUnit: 100,
        min: -2000,
        max: 2000,
        vertical: false,
        reverse: false,
        ranges: [
            {
                from: -2000, // LimitLo
                to: -1500,
                color: "#ffc700"
            },
            {
                from: 2000, // LimitHi
                to: 1500,
                color: "#ffc700"
            }, {
                from: 2000, // LimitHiHi
                to: 1800,
                color: "#c20000"
            }, {
                from: -5000,
                to: -1800,
                color: "#c20000" // LimitLoLo
            }, {
                from: 0,
                to: 286,
                color: "lightblue"
            }
        ]
    }
});

バーに最大ラベルと最小ラベルのみを表示し、その間のラベルを表示しないことは可能ですか? この場合、スケールの一方の端に「-2000」、もう一方の端に「2000」のみを表示するようにします。

4

3 に答える 3

2

テンプレートをスケール ラベルに関数として設定し、計算を行って、必要なラベルのみを返すことができます。

labels: {
             // labels template
             template: getLabel
         }

function getLabel(e) {
  if(e.value === 2000) {
    return 2000;
  }
  else if(e.value === -2000) {
    return -2000;
  }
  else {
    return '';
  }
}

ちょっとばかげているようで、おそらくもっと良い方法がありますが、それはあなたが望んでいると思うことをするはずです。(サンプルhttp://jsbin.com/aKAVOnE/1/edit )

于 2013-09-12T14:14:24.447 に答える
1

テンプレートを設定するとうまくいきます。通常、これを行う必要がある場合は、最大値と最小値の差を計算し、パラメーターを介して、またはゲージ作成計算でそれを主要な単位に設定します。

于 2013-09-12T16:46:09.027 に答える