2013-02-08 3 views
0

У меня есть барчер, который состоит из прямоугольников.Html5 Barchart - Проблемы с высотой бара

Я вызываю функцию, которая создает прямоугольник и добавляет его в холст html 5. Контейнер, на который нарисованы прямоугольники, имеет высоту. Допустим, эта высота составляет 200

AddRectangle(xPos,yPos,height,width) 

Так я называю это как

AddRectangle(0,0,100,20) 
AddRectangle(30,0,110,20) 
AddRectangle(60,0,120,20) 
AddRectangle(90,0,150,20) 

Это добавит прямоугольники никаких проблем. Проблема у меня есть то, что, если прямоугольники очень малы по высоте т.е.

AddRectangle(0,0,1,20) 
AddRectangle(30,0,4,20) 
AddRectangle(60,0,5,20) 
AddRectangle(90,0,6,20) 

Тогда они будут появляться крошечные и трудно различить, который является высшей ценностью. Есть ли какая-то формула, которую я мог бы использовать, чтобы получить высоту прямоугольников пропорционально высоте контейнера прямоугольника.

ответ

0

Получил формулу. Мне пришлось вычислять проценты чисел от максимального числа. максимальное количество равно 100%

Отработать higest номер

 for (var i=0; i<frequincies.length; i++) { 
      if (parseInt(frequincies[i]) > parseInt(maxValue)) maxValue = frequincies[i]; 
     } 

Получить проценты других чисел от самого высокого числа

for (var i=0; i<frequincies.length; i++) { 
    var percentage = (parseInt(frequincies[i]))/maxValue; 
    percentages.push(percentage); 
    } 

тогда я мог бы получить нужную высоту баров в пределах площади прямоугольника

percentages[i] * chartHeight 
Смежные вопросы