2016-06-27 3 views
0

ハイチャートのプラグインを初めて使用しています。値が空の場合、各列に異なる幅を設定する必要があります。ハイチャートの値が0の場合の各列の動的な幅

series: [{ 
name: 'Jane', 
    data: [1, 0, 4] 
}, { 
    name: 'John', 
    data: [5, 7, 3] 
}] 

、私はこのよう

I need this

それを表示する必要がある私は、ドキュメントを検索されているが、私はコードがあまりなく、それをしない何かを見つけることはありません。

私はこれを達成しましたが、動的にアップロード/サイズ変更することはありません。

http://jsfiddle.net/5vgjztk0/

おかげ

+0

だから例えば、あなたのjsfiddleに、あなたはグラフの2月を超えるバーが広くなると、動的にサイズ変更するウィンドウにサイズを変更したいですか? –

+0

ユーザーエクスペリエンスの観点から、なぜこれをやりたいのか分かりません。あなたが与えた例を見れば、「バナナ」列に何が間違っているのだろうかと思います。データをヌル値で真実に表示するには、代わりに、データ・ラベルを追加して、他の列を「太らせる」のではなく、値がNULLまたはゼロであることを示すことを検討する必要があります。 –

+0

あなたはメリメッコのチャートのようなものを使うことができます。http://jsfiddle.net/js55fuo1/24/ –

答えて

0

あなたはmerimekkoチャートのようなものを使用することができます。

(function(H) { 
    var each = H.each; 

     var xStart = 0; 
var rememberX = 0;  
    H.wrap(H.seriesTypes.column.prototype, 'drawPoints', function(proceed) { 
     var series = this; 
     if(series.data.length > 0){ 
      each(this.data, function(point) { 
       point.shapeArgs.width = series.xAxis.translate(point.x) - series.xAxis.translate(xStart); 
       point.shapeArgs.x = series.xAxis.translate(point.x) - point.shapeArgs.width; 
       xStart = point.x; 
      }); 
      xStart = 0; 
     } 
     proceed.call(this); 
    }) 
})(Highcharts) 

デモ:

関連する問題