JavaScript canvasは配列に基づいてヒストグラムコードを生成する例
1542 ワード
HTML 5のcanvas元素はJavaScriptを使ってウェブページに画像を描きます。
キャンバスは長方形の領域です。各ピクセルをコントロールできます。
canvasは、複数の描画経路、矩形、円形、文字、および画像を追加する方法を有する。
canvas元素自体は描画能力がない。すべての描画作業はJavaScriptの内部で行わなければなりません。
canvasヒストグラム
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
キャンバスは長方形の領域です。各ピクセルをコントロールできます。
canvasは、複数の描画経路、矩形、円形、文字、および画像を追加する方法を有する。
canvas元素自体は描画能力がない。すべての描画作業はJavaScriptの内部で行わなければなりません。
canvasヒストグラム
var arr = [
{ id: 1001, price: 100 },
{ id: 1002, price: 150 },
{ id: 1003, price: 200 },
{ id: 1004, price: 70 },
{ id: 1005, price: 300 }
];
var gap = 20;
var canvas = document.querySelector("canvas");
var ctx;
init();
function init() {
canvas.width = 400;
canvas.height = 300;
ctx = canvas.getContext("2d");
var max = arr.reduce((value, item) => {
return value < item.price ? item.price : value;
}, arr[0].price);
//max 300 4/5, :300*(4/5)/(max) * h maxh:240 = othersh: ? ? = 240
var scaleHeight = 300 * 4 / 5 / max;
// -
var width = (400 - (gap * (arr.length + 1))) / arr.length;
createChart(width, scaleHeight);
}
function createChart(w, hs) {
ctx.fillStyle = "rgba(0,0,0,0.7)";
ctx.fillRect(0, 0, 400, 300);
var x = 0;
for (var i = 0; i < arr.length; i++) {
x += gap;
ctx.fillStyle = "orange";
var h = hs * arr[i].price;
ctx.fillRect(x, 300 - h, w, h);
x += w;
}
}
効果:以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。