2013-09-02 5 views
0

Я присвоил диапазон масштабирования графику с помощью функции zoomRange, благодаря которой я могу ограничить диапазон масштабирования и уменьшения. Требуется два значения, такие как zoomRange[min, max] для xaxis и yaxis.Корректные значения диапазона масштабирования для графического графика jQuery

Проблема, с которой я столкнулась, - это правильные значения, которые я должен дать этому диапазону. Когда я даю диапазон, как указано в документации, которая равна zoomRange[0.1, 10], тогда зум просто не работает, и когда я даю какое-то случайное значение, тогда график увеличит масштаб на yaxis, затем xaxis или наоборот.

Значение Я дал графу следующим образом -

xaxis: { 
     mode: "time", 
     zoomRange: [240000, 2550000] 
     }, 
yaxis: { 
     zoomRange: [2, 22] 
     } 

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

Я хочу, чтобы значения, с помощью которых zoomRange могут работать идеально для любого типа графика I.

P.S .: Я задал этот вопрос месяцев назад, до сих пор не решить проблему

+0

Вы узнали что-то еще, мне не нравится, как работает масштабирование, поэтому, возможно, я просто ошибаюсь? Если я уменьшу масштаб и попытаюсь увеличить масштаб, я больше никогда не найду серию ... они находятся вне диапазона диаграмм, я думаю. – Margo

ответ

-1

Не знаю, если вы поняли это. Во всяком случае, я нашел это:

«zoomRange» интервал, в котором может произойти изменение масштаба, например, с zoomRange: [1, 100] zoom никогда не будет масштабировать ось так, чтобы разница между min и max была меньше 1 или больше 100. Вы можете установить любой из них равным null для игнорирования.

здесь: http://code.google.com/p/flot/source/browse/trunk/jquery.flot.navigate.js?r=186

3

Я обнаружил, что хорошее поведение зум установить panRange до минимума и максимума диапазона данных, +/- ~ 10%. Затем установите zoomRange на наименьший приращение ваших данных * some-small-integer и null для верхнего значения zoomRange (panRange будет ограничивать, как далеко вы можете уменьшить масштаб, поэтому верхний предел масштабирования не требуется). Например, если у вас есть данные о ценах акций в пределах от $ 35- $ 85 и часовых интервалов для ваших х данных, то вы можете сделать:

xaxis: { 
    mode: "time", 
    // set the lowest (zoomed all the way in) range on the x axis to 2 hours 
    zoomRange: [7200000, null], 
    // set the pan limits slightly outside the data range 
    panRange: [min_time*0.9, max_time*1.1] 
}, 
yaxis: { 
    // set the lowest range on the y-axis to 5 dollars 
    zoomRange: [5, null], 
    // set the pan limits slightly outside the data range 
    panRange: [30, 90] 
} 

Так с этим примером, вы сможете увеличить весь путь вниз прирост в 5 долларов США за 2 часа. Когда вы увеличите масштаб до конца, вы получите диапазоны, указанные в параметрах panRange.

Установка минимального минимума zoomRange ниже позволит вам увеличить масштаб (но с учетом детализации данных не имеет большого смысла). И установка пределов panRange более широкая позволит вам увеличить масштаб.

Смежные вопросы