2011-12-24 6 views
0

Вот sandbox (http://jsfiddle.net/qeyqe/).
Вот красивый picture того, что я ожидаю, говоря «растягивайте график по вертикали».Протяните график по вертикали

Итак, у меня есть массив точек для моего графика и холста высотой 100 px. Максимальные и минимальные значения моего графика равны 84 (0.8425) и 44 (0.439) соответственно, поэтому диапазон высоты графика равен 40 px (84-44). Но мне нужно растянуть этот график, чтобы он занимал весь диапазон высоты 100 пикселей - мне нужно преобразовать значение «84» в 100 и значение «44» в 0; другие промежуточные значения также должны быть преобразованы (растянуты), чтобы соответствовать новым диапазонам 0-100 px, а не старым 0-40 px (см. рисунок выше).

Итак, главный вопрос заключается не в том, как «масштабировать» график, а как «растягивать» его по вертикали.

ответ

3

Вы можете растянуть значение непосредственно в коде, заменив строку

value = Math.round(ratesValues[i] * 100); 

следующими строками:

min = 0.439; 
max = 0.8425; 

value = Math.round((ratesValues[i]-min)/(max-min)*100); 

Вы можете изменить число 0.439 и 0.8425, чтобы отразить фактический минимум и максимум вашего графика.

+0

Iiiihaaaa! Да! Спасибо! – artuska