JavaScript 柱状图绘制函数 getBarBounds() 解释
function getBarBounds(vm) {\n\tvar x1, x2, y1, y2, half;\n\n\tif (isVertical(vm)) {\n\t half = vm.width / 2;\n\t x1 = vm.x - half;\n\t x2 = vm.x + half;\n\t y1 = Math.min(vm.y, vm.base);\n\t y2 = Math.max(vm.y, vm.base);\n\t} else {\n\t half = vm.height / 2;\n\t x1 = Math.min(vm.x, vm.base);\n\t x2 = Math.max(vm.x, vm.base);\n\t y1 = vm.y - half;\n\t y2 = vm.y + half;\n\t}\n\n\treturn {\n\t left: x1,\n\t top: y1,\n\t right: x2,\n\t bottom: y2\n\t};\n}该函数的功能是根据给定的参数vm,返回一个包含矩形区域四个边界值的对象。这个矩形区域用于绘制柱状图中的柱子。\n\n函数首先判断柱状图的方向,即垂直或水平。如果是垂直方向,那么矩形的宽度为vm的宽度的一半,左边界x1为vm的x坐标减去宽度的一半,右边界x2为vm的x坐标加上宽度的一半。垂直方向的上边界y1为vm的y坐标和base坐标中的较小值,下边界y2为vm的y坐标和base坐标中的较大值。\n\n如果是水平方向,那么矩形的高度为vm的高度的一半,上边界y1为vm的y坐标减去高度的一半,下边界y2为vm的y坐标加上高度的一半。水平方向的左边界x1为vm的x坐标和base坐标中的较小值,右边界x2为vm的x坐标和base坐标中的较大值。\n\n最后,函数返回一个包含四个边界值的对象,对象的属性分别为left、top、right和bottom。\n\n函数的执行过程是根据参数vm的属性值计算出矩形区域的四个边界值,并将这些值存储在一个对象中进行返回。
原文地址: https://www.cveoy.top/t/topic/qyHd 著作权归作者所有。请勿转载和采集!