Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
Заебал gnuplot. Какие альтернативы есть?
Рекомендовали: @l29ah @corpse @o01eg
#EURDIC / @komar / 3824 дня назад

Matplotlib
#EURDIC/KT8 / @buckbeak / 3824 дня назад
@buckbeak > python plotting Ты правда считаешь, что эта поебулька не будет обсираться на тех объемах данных, на которых у меня сейчас gnuplot обсирается?
#EURDIC/PXU / @komar --> #EURDIC/KT8 / 3824 дня назад
@komar Я тебе что, мамка что буду угадывать какие у тебя проблемы? Прочитай еще раз пост и скажи где ты видел этот рекваймент?
#EURDIC/YWJ / @buckbeak --> #EURDIC/PXU / 3824 дня назад
@buckbeak Гм, и правда. Я почему-то думал, что я, как всегда, поливал говном гнуплот в бнваче.
#EURDIC/P8E / @komar --> #EURDIC/YWJ / 3824 дня назад
@komar азаза
#EURDIC/8YM / @anonymous --> #EURDIC/P8E / 3824 дня назад
@buckbeak удваиваю это говно
#EURDIC/S0B / @kerrigan --> #EURDIC/KT8 / 3824 дня назад
@komar Чем занимаешься?
#EURDIC/59Q / @buckbeak --> #EURDIC/CIO / 3824 дня назад
@buckbeak Да это examples из plplot. Интересные.
#EURDIC/0ZJ / @komar --> #EURDIC/59Q / 3824 дня назад
@komar Это что, так много данных? Matplotlib точно справится
#EURDIC/HHB / @buckbeak --> #EURDIC/CIO / 3824 дня назад
@buckbeak Нет, конечно.
#EURDIC/NU9 / @komar --> #EURDIC/HHB / 3824 дня назад

R + ggplot2.

#EURDIC/X7U / @ulidtko / 3824 дня назад
@ulidtko R не очень осиливает много данных я бы сказал
#EURDIC/5VD / @buckbeak --> #EURDIC/X7U / 3824 дня назад

@buckbeak на самом деле нормально

да и нахуй тебе ПЛОТТИТЬ дохуя данных, ты хочешь рендер дохуя?
типичные трюки для графика «многоданных» — это сабсемплинг, оверплоттинг и аппроксимация, всё из этого доступно в ggplot

#EURDIC/RTA / @ulidtko --> #EURDIC/5VD / 3824 дня назад
@ulidtko Это комары надо. Не мне. /KT8
#EURDIC/0SC / @buckbeak --> #EURDIC/RTA / 3824 дня назад
@ulidtko Комару*
#EURDIC/VB9 / @buckbeak --> #EURDIC/RTA / 3824 дня назад

@buckbeak комар дурак, и опять носится не с теми проблемами, с которыми стоило бы

#EURDIC/QJO / @ulidtko --> #EURDIC/0SC / 3824 дня назад
@ulidtko Хочу взять полгига говна и сказать «рисуй».
#EURDIC/5LG / @komar --> #EURDIC/RTA / 3824 дня назад
Если у тебя большие массивы данных, то может paraview какой-нибудь стоит посмотреть? // сам не юзал
#EURDIC/8AY / @corpse / 3824 дня назад
@corpse > ParaView was developed to analyze extremely large datasets using distributed memory computing resources. It can be run on supercomputers to analyze datasets of petascale as well as on laptops for smaller data. ParaView is an application framework as well as a turn-key application.
#EURDIC/Q3N / @corpse --> #EURDIC/8AY / 3824 дня назад

@buckbeak ну а что касается многоданных на R (это вообще никак не относится к графикам — на A5 графике при 200 DPI и 24-битном цвете можно теоретически передать МАКСИМУМ 5.5 мебибайт (= 148 × 210 mm² × (200/25.4 mm¯¹)² * 3 byte) информации, многоданные нужно вручную ужимать на графике трюками) — мы гоняли вычисления в R на многогигабайтных массивах на amazon ec2, и заебись было

#EURDIC/PAL / @ulidtko --> #EURDIC/5VD / 3824 дня назад
@corpse вебскале штоле
#EURDIC/8O3 / @komar --> #EURDIC/Q3N / 3824 дня назад

@komar help(sample) в R.

#EURDIC/XCZ / @ulidtko --> #EURDIC/5LG / 3824 дня назад

@corpse

analyze
plot

#EURDIC/VE7 / @ulidtko --> #EURDIC/Q3N / 3824 дня назад

@komar у тебя полгига говна даже теоретически не влезет на твой график (с использованием всех возможных цветов и хорошего DPI), попробуй САБСЕМПЛИНГ

#EURDIC/3ND / @ulidtko --> #EURDIC/5LG / 3824 дня назад

@failman два позитрона етому учёному

#EURDIC/M3Q / @ulidtko --> #EURDIC/OM3 / 3824 дня назад
@ulidtko Я тебе могу на баше написать скрипт, который будет данные в потоке ужимать. Я не хочу его писать. Я хочу взять хуйню и сказать ей «рисуй». Со скриптом на баше я и на гнуплоте остаться могу.
#EURDIC/H7P / @komar --> #EURDIC/PAL / 3824 дня назад
@failman > BigData Туда ли ты зашел, петушок?
#EURDIC/WE4 / @komar --> #EURDIC/OM3 / 3824 дня назад
@failman Пруф или WebScale 2.0.
#EURDIC/07U / @l29ah --> #EURDIC/OM3 / 3824 дня назад

@komar ебать ты дурак

ему говорят — применяй субсемплирование — нет, говорит, не хочу субсемплирование, хочу жрать говно

#EURDIC/TWL / @ulidtko --> #EURDIC/H7P / 3824 дня назад
@ulidtko Нет, я хочу взять полгига говна и сказать «рисуй».
#EURDIC/TK1 / @komar --> #EURDIC/XCZ / 3824 дня назад
@failman Не розумiю твою москальську
#EURDIC/M9S / @buckbeak --> #EURDIC/OM3 / 3824 дня назад

@komar ты в курсе вообще, сколько данных генерируют эксперименты на LHC? там вам вебскейл даже рядом не валялся.

#EURDIC/UCX / @ulidtko --> #EURDIC/WE4 / 3824 дня назад

@komar ты идиот, я тебе повторю ответ на твой вопрос ещё раз: СУБСЕМПЛИРУЙ

#EURDIC/I9E / @ulidtko --> #EURDIC/TK1 / 3824 дня назад
@ulidtko Ты в курсе вообще, сколько данных генерирует мой /dev/zero?
#EURDIC/OH9 / @komar --> #EURDIC/UCX / 3824 дня назад

@komar топ перд

#EURDIC/RNE / @ulidtko --> #EURDIC/OH9 / 3824 дня назад
@failman Да, спасибо тебе, съеби уже.
#EURDIC/8ME / @komar --> #EURDIC/FFD / 3824 дня назад

@failman

спрашивает альтернатив
не аргументируя отказывается от предлагаемых альтернатив

да иди-ка ты нахуй, комар, тебе что-то советовать — себя не жалеть. Жри дерьмо дальше с полгига данных на графике™, удачи.

#EURDIC/WN1 / @ulidtko --> #EURDIC/FFD / 3824 дня назад
@ulidtko Видишь ли, я не вижу большой трудности в задаче «нахуярить пикселей на картинку 1000x1000 из файла поточно». Если ни одна модная косожопая хуйня этого не умеет, то придется мне ее изобретать. Выдирание High/Low-значений для заданных промежутков — это как раз то, чем я сейчас спасаюсь. Это нахуй мне не нужно. Мне нужно только чтобы gnuplot не сваливался в OOM хотя бы при заданных явно границах графика. Хули ты раскукарекался?
#EURDIC/Y6L / @komar --> #EURDIC/WN1 / 3824 дня назад
@komar Нахуярь на камле за 20 минут, хуле.
#EURDIC/QYW / @l29ah --> #EURDIC/Y6L / 3824 дня назад
@l29ah Это первое, что пришло в голову. Но не настолько же я NiH-уебок, надо и готовое попробовать что-нибудь.
#EURDIC/AXE / @komar --> #EURDIC/QYW / 3824 дня назад
javascript
#EURDIC/DBF / @krkm / 3824 дня назад
@krkm Тормозит шопиздец. Зато интерфейс удобный.
#EURDIC/W6O / @komar --> #EURDIC/DBF / 3824 дня назад
@ulidtko Я тебе даже без битов-хуитов расскажу. Файл весит 500 мегабайт. График к нему — 100 килобайт. ОБОЖЕ КАК????!!!!!1111
#EURDIC/HPJ / @komar --> #EURDIC/PAL / 3824 дня назад
@krkm возможно вы имели в виду: d3
#EURDIC/PKA / @anonymous --> #EURDIC/DBF / 3824 дня назад

@komar и что ты увидишь в этих пикселях?..

назначение графика — не столько представление данных, сколько визуализация определённых фич, особенностей этих данных, их характеристик.

и тем более никто не станет читать ПОЛГИГАБАЙТА осмысленных данных с картинки. Это бессмысленно. Ты не сможешь за вразумительное время прочитать даже полмегабайта данных (в тысячу раз меньше!), из-за уёбищности глаз как системы ввода. // анимации не в счёт

ПОЭТОМУ к многоданных перед плоттингом применяются сжимающие (моделирующие, абстрагирующие) преобразования и аппроксимации. Когда тебе важно увидеть фичи распределения данных, и ты знаешь, что вся выборка сделана в одних и тех же условиях (т.е. представляет одно и то же распределение) — тебе нахуй не надо видеть все миллионы датапоинтов одновременно; небольшая рандомная подвыборка (subsample) из нескольких тысяч/десятков тысяч измерений даст тебе полное понимание всего распределения, и не засрёт к хуям дерьмом всё поле графика. Понимаешь? Из предположения гомогенности выборки получается приём сабсемплирования, приём обоснованного отбрасывания излишних (не несущих новой информации) данных.

Другой пример, выше из plplot твоего. Там точно тот же трюк выполнен, только ещё и несколько раз из-за неуверенности в каждом исходном предположении. Предполагаем, что модель из кубических сплайнов достаточно хорошо фиттит наши данные? (момент абстракции здесь) Ок, тогда фиттим модель и плоттим её. Заебись, всё видно. Предполагаешь, что твои, скажем, логи посещения периодичны? Значит, неплохо подойдёт суперпозиция суточной и недельной синусоид + аномалии. Плоттишь тоненько эти синусоиды, и жирно — аномалии; сразу становится видно, когда всё идёт по плану vs когда что-то пошло не так (причём как аномальный рост, так и аномальный спад будет одинаково хорошо видно).

Применяя такое моделирование, ты попросту выбрасываешь уже известные/предсказуемые/неинтересные фичи данных, оставляя место на графике для действительно важных характеристик. Это далеко за пределами говноскриптов на баше; это анализ и моделирование данных. И тебе его придётся делать — потому что ты физически не сможешь видеть полгига данных на одном графике одновременно.

#EURDIC/7MP / @ulidtko --> #EURDIC/Y6L / 3824 дня назад

@komar ты до сих пор не допёр, что график данных в любом случае теряет информацию? // кроме тривиальных случаев из десятка плоских датапоинтов

#EURDIC/R7I / @ulidtko --> #EURDIC/HPJ / 3824 дня назад
@ulidtko Ты блядь долбоёб штоле пидор сука?
#EURDIC/SUN / @l29ah --> #EURDIC/R7I / 3824 дня назад

@l29ah нахуй пойди, я на это не собираюсь отвечать.

#EURDIC/IWP / @ulidtko --> #EURDIC/SUN / 3824 дня назад
@l29ah го ибаццо
#EURDIC/5IW / @krkm --> #EURDIC/SUN / 3824 дня назад
@krkm Не ибусь без бромо-драгонфлая.
#EURDIC/1LG / @l29ah --> #EURDIC/5IW / 3824 дня назад

@anonymous ето

#EURDIC/CJI / @ulidtko --> #EURDIC/PKA / 3824 дня назад
@l29ah ебусь ток под 2DPMP сорь
#EURDIC/H5A / @krkm --> #EURDIC/1LG / 3824 дня назад
@ulidtko норм паста
#EURDIC/QWV / @anonymous --> #EURDIC/7MP / 3824 дня назад
@krkm го по синьке в анус жариться
#EURDIC/N53 / @anonymous --> #EURDIC/H5A / 3824 дня назад
@anonymous не бухаю сорь
#EURDIC/4L0 / @krkm --> #EURDIC/N53 / 3824 дня назад
@ulidtko а я наоборот, считаю что это задача рисовальщика сделать сжимания. какого хуя он этого не может сделать за меня?
#EURDIC/MBN / @kb --> #EURDIC/7MP / 3824 дня назад

@kb ggplot иногда делает.

#EURDIC/XCR / @ulidtko --> #EURDIC/MBN / 3824 дня назад

@kb проблема в том, что принцип «сжимания» зависит от твоего понимания данных. Поэтому оно почти всегда делается эксплицитно.

#EURDIC/E01 / @ulidtko --> #EURDIC/MBN / 3824 дня назад

@anonymous http://ну-да-ну-да.jpg.to

#EURDIC/P4Z / @ulidtko --> #EURDIC/QWV / 3824 дня назад
@ulidtko Если это критично, очевидно, что "сжиманием" займусь я сам. А раз уж мне похуй -- я хочу просто сказать "построй график из этих данных вот такого размера", и пусть он за меня ебется, подгоняя данные под размер. И вообще, у некоторых этот размер может быть зависим от размера окна, например. Собственно, у меня так и было, и тупая js-библиотека реально пыталась нарисовать больше точек чем пикселей. Кароч "just works" требует немного большего со стороны рисовальщика.
#EURDIC/2WP / @kb --> #EURDIC/E01 / 3824 дня назад

@ulidtko другой часто используемый приём: плоттить модель + outliers («выбросы» за пределами полутора-двух-трех сигм распределения), а «обычные» данные внутри одной сигмы не плоттить вообще. Они ничего нового всё равно не приносят, только засирают визуально график модели. Для лучшей уверенности в модели можно параллельно (в бэкграунде либо отдельной вертикальной панелью) делать barplot количества этих «стандартных» нерисуемых данных, а ещё лучше — вместе с количеством рисуемых аутлаеров (столбики другого цвета поверх базовых столбиков) для сравнения соотношения первых со вторыми. // по статистическим законам, одна сигма нормального распределения будет составлять 67% выборки (столбцы будут 2:1 по высоте), две — 95%, три — 99.7%

Всё это делается в ggplot декларативно.

#EURDIC/VTQ / @ulidtko --> #EURDIC/7MP / 3824 дня назад
@ulidtko Улиточка, мне нахуй не обосралась твоя теоретика. Мне нужен плоттер, который сожрет полгига данных.
#EURDIC/FZM / @komar --> #EURDIC/7MP / 3824 дня назад
@ulidtko Улиточка, мне нахуй не надо «считывать информацию» из графика. Я не настолько наркоман. График мне нужен для того, что окинуть взглядом данные и понять, на что они похожи.
#EURDIC/MAP / @komar --> #EURDIC/R7I / 3824 дня назад
@ulidtko Мне твои сигмы-хуигмы нахуй не обосрались. Вот график моей мечты: http://dump.bitcheese.net/images/ivykohi/chart16.png
#EURDIC/435 / @komar --> #EURDIC/VTQ / 3824 дня назад

@kb а, так если ты об этом — то да, ggplot многое делает сам. Ну размеры окна само собой, всё автоматически выбирается (и обычно вполне удачно к тому же). Мне он нравится исключительно красивой декларативностью описания трансформов данных и самого графика. Никакой тебе еботни с пикселями и длинами массивов, как в том же ебаном матплотлибе (← говно). График в ggplot описывается как сумма своих логических компонентов: например, гистограмма + line plot; каждый из компонентов имеет набор «эстетик» (визуально видимых крутилочек), которые просто декларативно мапятся из полей твоих данных, функций, моделей («формулы» они там называются) над данными.

Снова пример, прямо из доков ggplot, пишешь:

ggplot(movies, aes(x=rating)) + geom_histogram(aes(y = ..density..)) + geom_density()

— и оно строит график по датасету movies (в R искоробки включены некоторые public domain датасеты для демонстраций), с рейтингом на оси x (rating — колонка в датасете), с гистограммой и линией какой-то там плотности (не могу проверить ща чо ето @ лень лукапить), вот такой:

http://docs.ggplot2.org/current/geom_histogram-21.png

... Добавляешь маппинг цвета на количество оценок, ... + geom_histogram(aes(fill = ..count..)):

http://docs.ggplot2.org/current/geom_histogram-40.png

— само выбирает шкалу, само делает легенду, само делает всё; ты просто добавил маппинг эстетики «цвет» на фичу данных.


Красиво дохуя, короче; очень быстро получается экспериментировать и смотреть разные-разные проекции данных, моделировать на ходу. Прям аж хочу реимплементнуть тот же интерфейс на js.

#EURDIC/MO9 / @ulidtko --> #EURDIC/2WP / 3824 дня назад

@komar ЭТО И ЕСТЬ считывание информации, ты тупой штоле?

#EURDIC/9PG / @ulidtko --> #EURDIC/MAP / 3824 дня назад
@ulidtko Как меня заебали гуманитарии.
#EURDIC/CQ3 / @komar --> #EURDIC/9PG / 3824 дня назад

@komar пёс твой гуманитарий

#EURDIC/RTG / @ulidtko --> #EURDIC/CQ3 / 3824 дня назад

@komar не нужен

#EURDIC/0UG / @ulidtko --> #EURDIC/FZM / 3824 дня назад

TL;DR треда

комар считает, что его безрациональные (rationale-less) требования, на которые всем похуй, на самом деле кому-то не похуй.

#EURDIC/WDF / @ulidtko / 3824 дня назад
@komar Улитка на филфаке КНУ учится. Инфа 100%
#EURDIC/FSI / @anonymous --> #EURDIC/CQ3 / 3824 дня назад
@ulidtko Удобно, да, без базара. А плоттер там есть?
#EURDIC/DG7 / @komar --> #EURDIC/MO9 / 3824 дня назад
@ulidtko ДА ТЕБЕ ЭТО НЕ НУЖНО Где-то у меня была картинка с Гвидо.
#EURDIC/HUT / @komar --> #EURDIC/WDF / 3824 дня назад

@komar и сколько этот твой «график мечты» на полгигабайте данных займёт в ширину? пару миллионов пикселей?..


агрегацию по периодам ggplot тоже умеет, и тоже декларативно; но я таким не занимался — разбирайся сам.

#EURDIC/BMO / @ulidtko --> #EURDIC/435 / 3824 дня назад
матлаб еба
#EURDIC/TNC / @figli / 3824 дня назад
@ulidtko График мечты займет в ширину восемь сотен пикселей. И мне нахуй не нужны периоды. Мне нужны пиксели.
#EURDIC/9SU / @komar --> #EURDIC/BMO / 3824 дня назад

@komar охуенная шутка. В глаза долбишься? Результаты работы плоттера не замечаешь?

#EURDIC/MEQ / @ulidtko --> #EURDIC/DG7 / 3824 дня назад

@komar ты не обосновал нужность, не предоставил rationale. Следовательно — не нужно.

#EURDIC/S3H / @ulidtko --> #EURDIC/HUT / 3824 дня назад
@ulidtko Лях там → @L29Ah
#EURDIC/UX7 / @komar --> #EURDIC/S3H / 3824 дня назад

@komar Спасибо!

#EURDIC/3JX / @ulidtko --> #EURDIC/UX7 / 3824 дня назад

@komar facepalm.pdf

карочи, ебись как хочешь со своими пикселями — у меня больше нет времени на этот тред.

#EURDIC/RLH / @ulidtko --> #EURDIC/9SU / 3824 дня назад
@ulidtko Ну наконец-то.
#EURDIC/YVX / @komar --> #EURDIC/RLH / 3824 дня назад

@komar на хуец-то

#EURDIC/YUA / @ulidtko --> #EURDIC/YVX / 3824 дня назад
@ulidtko дваждую, покрышки сами себя не пожгут
#EURDIC/LDC / @krkm --> #EURDIC/RLH / 3824 дня назад
@ulidtko норм. А скользящая средняя на ГИГАБАЙТАХ - хороший вариант, или тормозит? //inb4 проверь
#EURDIC/BZQ / @ckorzhik --> #EURDIC/7MP / 3824 дня назад
@ckorzhik Присоединяюсь к вопросу, кстати // похуй на самом деле, уже навелосипедил
#EURDIC/C4V / @komar --> #EURDIC/BZQ / 3824 дня назад
@komar шок, комар - женщина
#EURDIC/V4Z / @mugiseyebrows --> #EURDIC/5LG / 3824 дня назад
@mugiseyebrows но у меня хуй
#EURDIC/EH4 / @komar --> #EURDIC/V4Z / 3824 дня назад
@ulidtko прост хочет по быстрому и легко (и без обязательств)
#EURDIC/WJ3 / @mugiseyebrows --> #EURDIC/QJO / 3824 дня назад
@komar бля сорь
#EURDIC/73P / @mugiseyebrows --> #EURDIC/EH4 / 3824 дня назад
@ulidtko дваждую на js // норм вообще
#EURDIC/8N5 / @kb --> #EURDIC/MO9 / 3824 дня назад

imagemagick + bash
cast @lexszero

#EURDIC/1TQ / @ninesigns / 3824 дня назад

@ckorzhik обычно вполне норм, они там прикомпиливают всякие фортрановые хуйни для етих дел.

Важно только не лохануться с векторизацией; как и в матлабе/octave (как и в numpy, да как и в произвольном скриптоговне, тащемта), код на ручных циклах работает в разы медленнее, чем векторизированный.
Ну типа, вместо

for i in range(len(X)): X[i] = c * Y[i] + Z[i]

будет существенно быстрее просто X = c * Y + Z. // здесь надо понимать, как определены операции на массивах

То есть, вычисляющий код лущ писать в терминах свёрток, векторных сложений/умножений, матричных операций, и т.д. — чем в терминах индексов и циклов. Опять же, они вполне могут уже в своей свёртке воткнуть SIMD, задрочить кеш локалити, контролировать поинтер альясинг, и всё вот это ускоряющее говно. Это реально любого скриптоязыка касается.

#EURDIC/CGW / @ulidtko --> #EURDIC/BZQ / 3823 дня назад

@ckorzhik тащемта, считали и скользящую среднюю, и фильтр Калмана на ГИГАБАЙТАХ — вполне приемлемо было на R

#EURDIC/PD0 / @ulidtko --> #EURDIC/BZQ / 3823 дня назад

@komar но у тебя требования как у бабы

#EURDIC/JKR / @ulidtko --> #EURDIC/EH4 / 3823 дня назад

@komar алсо, у Антонины тоже хуй

#EURDIC/9G3 / @ulidtko --> #EURDIC/EH4 / 3823 дня назад

@kb да вот надо дудку дропнуть на время, да и написать взять

#EURDIC/6RJ / @ulidtko --> #EURDIC/8N5 / 3823 дня назад
@ulidtko хуй свой дропни, нарколыга
#EURDIC/QSZ / @krkm --> #EURDIC/6RJ / 3823 дня назад

@krkm дропнул булки, теперь не раздвигаются, как починить?

#EURDIC/2MW / @ninesigns --> #EURDIC/QSZ / 3823 дня назад

@krkm дропнул тебе на рыло

#EURDIC/2QQ / @ulidtko --> #EURDIC/QSZ / 3823 дня назад
@4da попробуй сдвинуть и потом раздвинуть
#EURDIC/INA / @krkm --> #EURDIC/2MW / 3823 дня назад
@ulidtko спасибо!
#EURDIC/Z8S / @krkm --> #EURDIC/2QQ / 3823 дня назад

@krkm не помогает. может ли проблема быть в геометрии швабры?

#EURDIC/W1I / @ninesigns --> #EURDIC/INA / 3823 дня назад
@4da дропни швабру в форме crowbar'a между булок
#EURDIC/JVG / @anonymous --> #EURDIC/W1I / 3823 дня назад
@4da остается только перенарезать резьбу, больше никак
#EURDIC/4A0 / @krkm --> #EURDIC/W1I / 3823 дня назад
@ulidtko > дропнуть дудку ради js > опущенность
#EURDIC/MCA / @kb --> #EURDIC/6RJ / 3823 дня назад

@kb на самом деле не только ради js // ради хаскеля

#EURDIC/G3V / @ulidtko --> #EURDIC/MCA / 3823 дня назад
@ulidtko пруф или во имя
#EURDIC/2Z5 / @kb --> #EURDIC/G3V / 3823 дня назад

@kb во вымя

#EURDIC/UVP / @ulidtko --> #EURDIC/2Z5 / 3823 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.