2016-12-05 1 views
0

私は開始角度と終了角度を渡すことができ、その間にある部分が何らかの色で塗りつぶされる円形のグラフが必要です。 chart.js円グラフで可能ですか?そして、そのような種類の機能を与えている他のチャートはありませんか?与えられた開始角度と終了角度の間の特定の部分をchart.jsの円グラフで塗りつぶすことはできますか?

ご協力いただければ幸いです。

+0

角度はあまり意味がありません。 360度の角度値に基づいて計算することができますが、シリーズではハイチャートを使用してポイントを渡すことができます。 http://jsfiddle.net/gh/get/jquery/3.1.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/pie-basic/リンク –

+1

私は簡単な機能を作っていますハイチャートのあなたの要件に似たチャートを作る方法を示しています:http://jsfiddle.net/46vfygqu/ –

+0

こんにちは、@GrzegorzBlachliński!!同じ機能を共有してくれてありがとう。しかし、[345,105]の角度の部分を埋めることは可能でしょうか? –

答えて

1

ハイチャートの円グラフを使用して、あなたのポイントに渡す開始角度と終了角度に応じてチャートを塗りつぶすカスタム関数を書き込むことができます。

あなたのデータは、そのように見えることがあります。私は非常に簡単な例を作った

function(chart) { 
    var series = chart.series[0], 
     start = series.data[0].startAngle, 
     updatedData = [start], 
     pointBetween, 
     point; 
    Highcharts.each(series.data, function(p) { 
     pointBetween = p.startAngle - start; 
     if (pointBetween !== 0) { 
     updatedData.push({ 
      y: p.startAngle - start 
     }); 
     } 
     point = { 
     color: p.color, 
     y: p.endAngle - p.startAngle 
     } 
     updatedData.push(point); 
     start = p.endAngle; 
    }); 
    updatedData.push({ 
     y: 360 - start 
    }) 
    series.setData(updatedData); 
    } 

チャートはこれで見えるかもしれ様子:

data: [{ 
    startAngle: 0, 
    endAngle: 105, 
    color: 'green' 
    }, { 
    startAngle: 315, 
    endAngle: 360, 
    color: 'green' 
    }] 

そして、あなたのカスタム関数は、この関数に類似していてもよいです機能:

http://jsfiddle.net/46vfygqu/

関連する問題