2

高チャートの minPointLengh の値を動的に設定するのが好きです。しかし、以下のコードは機能しません。それを成し遂げるのを手伝ってくれませんか。

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        xAxis: {
            categories: ['Sep', 'Oct', 'Nov', 'Dec']
        },

        plotOptions: {
        var minPointLength; 
                if(this.y > 0)  
                  minPointLength = 3,  
             else  
                  minPointLength = 0,
            series: {
                        minPointLength: minPointLength,
            }
        },
        series: [{
            data: [4, 0, 1, 5]
        }]
    });
});
4

5 に答える 5

5

私の提案:0値をnull値に変更します。

は、NULL値minPointLengthを持つポイントには影響しません。y

コードを次のように更新します。

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        xAxis: {
            categories: ['Sep', 'Oct', 'Nov', 'Dec']
        },

        plotOptions: {
            series: {
              minPointLength: 3
          }
        },
        series: [{
            data: [4, null, 1, 5]
        }]
    });
});

例:

コードが機能しない追加の理由:minPointLengthプロパティをオブジェクト内で直接設定しようとしてplotOptionsいます。シリーズ セレクター オブジェクトの 1 つ (' series: {}'、' column: {}' など) 内にある必要があります。

于 2016-06-16T17:10:31.193 に答える
-1

これは不可能です。この属性minPointLengthはシリーズ全体に適用され、個々のポイントに対して変更することはできません。

値が正の場合と 0 の場合を正しく表示したい場合は、それらの列が明確にマークされるようにデータ ラベルを表示すると役立つ場合があります ( https://jsfiddle.net/brightmatrix/1spxcsmd/の例を参照)。

また、Highcharts コード内で動的に実行したいことはすべて、イベントまたは関数によって呼び出される関数内にある必要がありformatterます。変数やコードをチャート オプションに直接挿入することはできません。元のコードが機能しなかった理由の 1 つは、 のコードが原因でしたplotOptions

于 2016-06-16T14:38:53.390 に答える