-1
我設法制作了一些流程圖,現在我遇到了一些問題。 這裏是我的代碼:製作流程圖
<body>
<canvas width="800" height="800" id="myCanvas"></canvas>
</body>
//sample data object
var vertical = {
a: "${sumC}",
b: "${sumG}",
c: "${sumP}",
d :"${sumCa}"
};
var data = Object.keys(vertical);
var maxVal = new Array;
for(var x in vertical) {
maxVal.push(vertical[x]*1);
}
var temp = Math.ceil((Math.max.apply(null,maxVal))/((data.length)-1));
var step =Math.ceil(temp/10) * 10
console.log(step);
total = 0;
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "blue";
for (var i = 0; i < data.length; i++) {
total = total + vertical[data[i]];
}
color = ['red', 'blue', 'green','black'];
start = 0;
for (var i = 0; i < data.length; i++) {
ctx.fillRect((i * 60) + 50, 300, 10,(-(vertical[data[i]])*100)/total);
ctx.font = "9px Arial";
ctx.fillText(data[i], (i * 60) + 51, 322);
ctx.fillText((step * i), 30, ((300+((step/total)*-i*100))));
ctx.beginPath();
ctx.moveTo(600, 150);
ctx.arc(600, 150, 150, start, start +
(Math.PI * 2 * (vertical[data[i]]/total)), false);
ctx.lineTo(600, 150);
ctx.fillStyle = color[i];
ctx.fill();
start += Math.PI * 2 * (vertical[data[i]]/total);
}
現在我想我頂升數是我最number.Eg:對於上面的代碼:我想頂值是1084,實際上現在是在1110.I唐不想成爲1110我想成爲1084. 任何人都可以幫助我嗎?
codepen URL這個邏輯將設置最大值爲您的最大刻度值...如果我提取值y軸的步驟將採取從那裏 –
從servlet是不工作。如果我用計算值替換a,b,c,d值:a:「$ {sumC}」,b:「$ {sumG}」,c:「$ {sumP}」,d:「$ {sumCa}」不起作用 – Bogdan
它是更多的servlet問題..不同於問的問題:) –