Comments 12
А вы рассматривали вариант с отрисовкой графиков с помощью js библиотек? Данные то вы все равно на клинт передаете (для табличек и т.д.)
+9
Но тогда всё будет совсем просто:(
0
Могу попытаться придумать необходимость для данного решения: бывает, что данных МНОГО. Я ещё помню, как в youtube-аналитике страница подвисала на минуты, если попытаться просмотреть данные за период в 1 год или более. Потом они видимо оптимизировали алгоритм, и теперь в такой ситуации не повторяются. И тем не менее, иногда лучше на клиенте графики всё-таки не рисовать :)
0
бывает, что данных МНОГО
Я как раз такими ситуациями по работе занимаюсь. В этом случае на сервере делается «прореживание» данных, они «огрубляются», подгружаются кусками при зуммировании и т.д.
В общем, делается весь комплекс мер, который делался бы для отображения данных в табличном виде, если их МНОГО ;)
Описаный метод данную проблему не решит, а скорее усугубит.
И тем не менее, иногда лучше на клиенте графики всё-таки не рисовать :)
Наверное. Но могу придумать очень мало ситуаций, когда это лучше. Конечно, при условии, что клиент поддерживает «рисование».
Например, когда нужно отобразить 100500 мелких простых графичков, их, наверное, лучше отдать растром, а не греть процессор пользователя. Или, когда один и тот же график, которому нафиг не нужна интерактивность будет отдаваться куче клиентов. Но в этих случаях, не нужен интерактив, предложеный автором.
А вот если интерактив нужен, мое мнение, лучше график рисовать на клиенте. Автор молодец (без сарказма), но, на мой взгляд, получившийся график выглядит некрасиво, взаимодействие пользователя с ним неестественное и неудобное и сам способ получения и доставки пользователю этого графика, уж простите, похож на удаление гланд через задний проход. Я ничего плохого не хочу сказать про гнуплот, но конкретно для веба существуют более функциональные, красивые и удобные клиентские библиотеки для построения графиков.
Причем, если данных не МНОГО, чтобы юзать тот же jQplot, js знать вообще не обязательно. Примеров вагон и маленькая тележка, все «программирование» по сути сводится к написанию конфига. Короче, порог вхождения нулевой.
Как-то так :)
+2
Увы, до js библиотек дело не дошло. Дело в том, что впервые эту идею я увидел в программе Wien2k, в веб-интерфейсе которой используется gnuplot для построения графиков и решил повторить для себя. Ну а потом уже встретился терминал canvas и пришлось смотреть в сторону html5… Данные для табличек не скачиваются, а основной интерес представляют параметры расчетов и качественное поведение кривых. Файлы не то чтобы очень большие — несколько тысяч строк и десятки столбцов.
0
ещё можно попробовать shiny от r-studio прикрутить
+1
Простите, но по моему передавать переменные от пользователей в shell_exec плохая идея.
+2
Вместо $_GET и $_POST лучше использовать filter_input.
+1
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 — либо херня полная. либо в статье ошибки исправить надо.
0
Хочу выразить благодарность, что спустя столько лет ваша статья остаётся актуальной и полезной!
+1
Sign up to leave a comment.
Gnuplot на домашней страничке