0

我想不出最简单的公式来计算直方图中列的高度。

例如,我有一个数据数组

var data = [82, 61, 88, 245, 201, 619, 735, 1099, 1088, 1477, 1531, 1717, 1263, 1674, 1254, 1134, 718, 887, 748, 569, 485, 565, 286, 266, 298, 203, 171, 235, 128, 127, 109, 128, 76, 73, 73, 85, 44, 33, 47, 29, 38, 47, 35, 31, 16, 17, 11, 20, 20, 276]

这是数字列表(数组中的每个数字表示更接近 0 到 3000 范围边缘的属性的计数)。我需要最大列高为 30px。我应该做什么样的计算?

结果示例

我想我的伪代码应该如下所示:

var maxPropertiesNumber = Math.max.apply(null, data);
var html = list.map(column => {
   var style = {
     width: 10px,
     backgroundColor: 'grey',
     height: ...
   };
   return <div style={style}></div>
})
4

1 回答 1

1
  1. 找到数组中的最大值。
  2. 计算:30px /(最大值)=每单位像素
  3. 循环遍历值并执行计算:round(value * pixel-per-unit)
于 2015-12-17T20:06:31.350 回答