ChartJSのドーナツチャートを使用できます。ドーナツを12の等しいデータグループに分割するようにしてください(私の例では、すべての12のデータポイントに対して1を使用します)。これにより、すべて同じサイズになります。次に、色を個別に制御し、後でチャートを更新することができます。
https://jsfiddle.net/8t8tmc0q/
必要HTML:
<canvas id="myChart" width="400" height="400"></canvas>
とJavaScript:
Chart.defaults.global.legend.display = false;
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: ['1','2','3','4','5','6','7','8','9','10','11','12'],
datasets: [{
data: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
backgroundColor: [
'white',
'white',
'white',
'white',
'white',
'white',
'white',
'white',
'white',
'white',
'white',
'white'
],
borderColor: 'black',
borderWidth: 1
}]
}
});
その後、色を更新するために、あなたはちょうどあなたが更新したい部分を指定し、使用myChart.update()
変更を描画する関数:
myChart.data.datasets[0].backgroundColor[5] = 'red'
myChart.update();
すでにスレッドがあなたの質問には解決策がありますhttp://stackoverflow.com/questions/14184494/segments-in-a-circle-using-css3 – kkreft
@kkreft私はそれを見ましたが、スライスを作成しようとしていません - むしろ、私は円弧を制御したいです – blazerix
http://stackoverflow.com/questions/14383088/how-to-create-a-certain-configuration-given-below-in-html 私も上記の質問を見ましたが、解決策はありませんでした。そのユーザーは私とまったく同じ問題を抱えています – blazerix