2016-06-16 21 views
0

ハイチャートのminPointLenghの値を動的に設定したい。しかし、下記のコードは動作していません。あなたは私にそれを手伝ってもらえますか?0以外のminPointLengthを動的に設定する方法

$(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] 
     }] 
    }); 
}); 
+1

「this.y」とは何ですか? – epascarello

+1

minPointLengthはシリーズレベルのオプションですが、ポイントのy値を調べるように指示しています。これがあなたがそれをやろうとしているようにうまくいかない理由はたくさんあります。私がここで欲しいものを達成するために見つけた最良のオプションは、** null **値の**ゼロ**値すべてを変更することです。 minPointLengthはNULL値に影響しませんが、0値に影響します。 – jlbriggs

答えて

-1

オブジェクト内にコードを使用することはできません。
はこれを行うにしてください:

var minPointLength; 

    if(this.y > 0) 
        minPointLength = 3, 
      else 
        minPointLength = 0, 
     }; 

    series: { 
       minPointLength : minPointLength 
     } 
+0

plotOptions:{ var minPointLength; \t \t IF(this.y> 0) minPointLength = 3、 他minPointLength = 0、 系列:{ \t \t //if(this.y> 0) \t \t minPointLength:minPointLength、 // else \t // \t minPointLength:0、 } }、 –

+0

これは機能しません。助けてもらえますか –

+0

何がうまくいかないのですか?例外は何ですか?詳しく教えてください。 –

0

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

値が正のときと0のときを正しく表示するには、データラベルを明示的にマークするように表示すると便利です(この例は、https://jsfiddle.net/brightmatrix/1spxcsmd/を参照)。

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

1

私の提案:0の値をnullの値に変更してください。

minPointLengthは、null 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: {} 'など)。

関連する問題