Pull to refresh

Comments 12

А вы рассматривали вариант с отрисовкой графиков с помощью js библиотек? Данные то вы все равно на клинт передаете (для табличек и т.д.)
Но тогда всё будет совсем просто:(
Могу попытаться придумать необходимость для данного решения: бывает, что данных МНОГО. Я ещё помню, как в youtube-аналитике страница подвисала на минуты, если попытаться просмотреть данные за период в 1 год или более. Потом они видимо оптимизировали алгоритм, и теперь в такой ситуации не повторяются. И тем не менее, иногда лучше на клиенте графики всё-таки не рисовать :)
бывает, что данных МНОГО

Я как раз такими ситуациями по работе занимаюсь. В этом случае на сервере делается «прореживание» данных, они «огрубляются», подгружаются кусками при зуммировании и т.д.
В общем, делается весь комплекс мер, который делался бы для отображения данных в табличном виде, если их МНОГО ;)

Описаный метод данную проблему не решит, а скорее усугубит.

И тем не менее, иногда лучше на клиенте графики всё-таки не рисовать :)

Наверное. Но могу придумать очень мало ситуаций, когда это лучше. Конечно, при условии, что клиент поддерживает «рисование».
Например, когда нужно отобразить 100500 мелких простых графичков, их, наверное, лучше отдать растром, а не греть процессор пользователя. Или, когда один и тот же график, которому нафиг не нужна интерактивность будет отдаваться куче клиентов. Но в этих случаях, не нужен интерактив, предложеный автором.

А вот если интерактив нужен, мое мнение, лучше график рисовать на клиенте. Автор молодец (без сарказма), но, на мой взгляд, получившийся график выглядит некрасиво, взаимодействие пользователя с ним неестественное и неудобное и сам способ получения и доставки пользователю этого графика, уж простите, похож на удаление гланд через задний проход. Я ничего плохого не хочу сказать про гнуплот, но конкретно для веба существуют более функциональные, красивые и удобные клиентские библиотеки для построения графиков.
Причем, если данных не МНОГО, чтобы юзать тот же jQplot, js знать вообще не обязательно. Примеров вагон и маленькая тележка, все «программирование» по сути сводится к написанию конфига. Короче, порог вхождения нулевой.
Как-то так :)
А вы не знаете js-библиотек поддерживающих логарифмический масштаб, позволяющий сохранять графики в векторном формате и PNG?
Увы, до js библиотек дело не дошло. Дело в том, что впервые эту идею я увидел в программе Wien2k, в веб-интерфейсе которой используется gnuplot для построения графиков и решил повторить для себя. Ну а потом уже встретился терминал canvas и пришлось смотреть в сторону html5… Данные для табличек не скачиваются, а основной интерес представляют параметры расчетов и качественное поведение кривых. Файлы не то чтобы очень большие — несколько тысяч строк и десятки столбцов.
ещё можно попробовать shiny от r-studio прикрутить
Простите, но по моему передавать переменные от пользователей в shell_exec плохая идея.
Вместо $_GET и $_POST лучше использовать filter_input.
gnuplot> set terminal canvas
Terminal type set to 'canvas'
Options are ' solid butt size 600,400 fsize 10 lw 1 fontscale 1 standalone'

gnuplot> plot sin(x) width lines
                     ^
         ';' expected


gnuplot — либо херня полная. либо в статье ошибки исправить надо.
Бл*, ну вы поняли, я ошибся в одной лишней букве,
Хочу выразить благодарность, что спустя столько лет ваша статья остаётся актуальной и полезной!
Sign up to leave a comment.

Articles