5
Pasta grafik için aşağıdaki kodu kullanıyorum ve aynı pasta grafiğini, örneğin id="canvas2"
için çoğulları kimlikleri ile çizmek istiyorum.Birden çok pasta çizmek için chart.js komut dosyası nasıl kullanılır? Grafikler
Grafik.js ile bunu nasıl yapacağımı bilmiyorum?
Lütfen bana yardım edin.
Bu jsFiddle örnek
var data = [
{
value: 300,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red"
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
label: "Yellow"
}
];
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var midX = canvas.width/2;
var midY = canvas.height/2
// Create a pie chart
var myPieChart = new Chart(ctx).Pie(data, {
showTooltips: false,
onAnimationProgress: drawSegmentValues
});
var radius = myPieChart.outerRadius;
function drawSegmentValues()
{
for(var i=0; i<myPieChart.segments.length; i++)
{
ctx.fillStyle="white";
var textSize = canvas.width/10;
ctx.font= textSize+"px Verdana";
// Get needed variables
var value = myPieChart.segments[i].value;
var startAngle = myPieChart.segments[i].startAngle;
var endAngle = myPieChart.segments[i].endAngle;
var middleAngle = startAngle + ((endAngle - startAngle)/2);
// Compute text location
var posX = (radius/2) * Math.cos(middleAngle) + midX;
var posY = (radius/2) * Math.sin(middleAngle) + midY;
// Text offside by middle
var w_offset = ctx.measureText(value).width/2;
var h_offset = textSize/4;
ctx.fillText(value, posX - w_offset, posY + h_offset);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<canvas id="canvas" width=300 height=300></canvas>
Teşekkür @Mosh, Ama nasıl "canvas2" değerini değiştirebilirsiniz: Örneğin
:
Aşağıdaki kodu bkz. Örneğin, canvas2 için farklı renkler ve percantage değeri istiyorum. Yardım ettiğin için teşekkür ederim. –
@HiraMajid Benim zevkim :) Cevabımı güncelledim. Açık olup olmadığına bakın. 'Data' dizisini bir dizi haline getirdi ve 'draw' verisine işlevini de gönder (indeksle) –
teşekkürler o kadar çok çalışıyor :) –