Растянуть график по вертикали - PullRequest
0 голосов
/ 25 декабря 2011

Вот песочница (http://jsfiddle.net/qeyqe/).
Вот красивая картинка того, что я ожидаю сказать «растянуть график вертикально».

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

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

1 Ответ

3 голосов
/ 25 декабря 2011

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

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 чтобы отразить фактический минимум и максимум вашего графика.

...