[Comm] Как сделать удобные шкалы на осях координат?

Sergey Degtyaryov =?iso-8859-1?q?maga_=CE=C1_replay=2Eru?=
Ср Фев 26 14:39:51 MSK 2003


Ilya Palagin пишет:
>> Что за модуль?
>> У меня GD::Graph::bars3d
>>
>> Значения:
>> 192.168.0.2     44.214 Mbytes
>> 192.168.0.3     14.810 Mbytes
>> 192.168.0.1     4.501 Mbytes
>>
>> Разметка по Y:
>> 0,10,20,30,40,50

>> Без каких-то телодвижений.
>>
> Телодвижения ваши таковы: для GD::Graph::bars3d вы задаете min = 0, max 
> = 50, поэтому и красиво получается.

Нет. Я ничего не задаю.

  А представьте, что значения были бы
> в диапазоне 47.3 - 47.9, и вам нужно посмотреть на их колебания. Тогда 
> пришлось бы задавать другие min и max (например, 47 и 48). Вопрос в том, 
> как это делать автоматически, исходя из задаваемого массива, чтобы и 
> рисуемый график был оптимален для просмотра изменений, и шкала не 
> содержала делений вроде 47.37

Я бы попробовал остановиться на каком-то количестве рисок на шкале 
(например 5) и округлял максимальное значение вверх до ближайщего, 
делящегося на 5 "красиво".
Ну и вниз.
Искал бы текстом -- окончание на 5 и 0, чтобы не привязываться к 
величине чисел.

Высота  графика в пикселях же у Вас постоянна, постоянное кол-во рисок 
напрягать не будет, вон в bars3d как раз 5 штук и макс.значение кратно 10.

В bars3d есть что-то на эту тему, но как считает -- не знаю.

--
Сергей Дегтярев




Подробная информация о списке рассылки community