В последней заметке цикла будет рассмотрена самая, пожалуй, популярная бибилотека для визуализации графов graphviz. Биндинги для неё существуют для большинства популярных языков, в том числе и для python.
В отличии от рассмотренных ранее библиотек, graphviz предназначен исключительно для визуализации. Никаких алгоритмов внутри вы не найдёте. Поэтому чаще всего для манипулирования графами берут другие библиотеки, а полученные результаты представляют в виде dot-файла и отдают graphviz.
Записки обо всём, с чем приходится столкнуться по работе и что полезно не забывать. python, php, ZendFramework, NOSQL и т.д.
30 декабря 2011 г.
29 декабря 2011 г.
graph-tool [заметки о визуализации графов на python]
Третья заметка цикла посвящена python модулю graph-tool.
Базируется он на шибко резвой Boost Graph Library (BGL), а для визуализации использует graphviz.
Вообще, у BGL есть собственные биндинги на Python, однако
Итак, ближе к телу =)
Базируется он на шибко резвой Boost Graph Library (BGL), а для визуализации использует graphviz.
Вообще, у BGL есть собственные биндинги на Python, однако
- BGL-Python bindings are no longer being maintained.
- BGL не имеет инструментов для визуализации и нацеленна на использование в паре с graphviz.
- Готовые яйца под питон так и не появились, а ставить руками столь широкие вещи весьма трудоёмко.
Итак, ближе к телу =)
27 декабря 2011 г.
iGraph [заметки о визуализации графов на python]
Тема второй заметки о визуализации графов - библиотека igraph, имеющая биндинги под python. Для визуализации она использует библиотеку Cairo.
Документация библиотеки детальная и подробнейшая, но абсолютно лишена даже базовых примеров. Примеры однако доступны в бета версии туториала - там всё детально и подробно расписано, правда на R =)
Что касается визуализации - то данный раздел туториала ещё не сделан, что в целом не сильно мешает.
По аналогии с предыдущей заметкой мерить будем время работы и пиковое потребление памяти алгоритма расстановки графа. Исходные данные для работы взяты идентичные использованным в тойже первой заметке цикла.
Документация библиотеки детальная и подробнейшая, но абсолютно лишена даже базовых примеров. Примеры однако доступны в бета версии туториала - там всё детально и подробно расписано, правда на R =)
Что касается визуализации - то данный раздел туториала ещё не сделан, что в целом не сильно мешает.
По аналогии с предыдущей заметкой мерить будем время работы и пиковое потребление памяти алгоритма расстановки графа. Исходные данные для работы взяты идентичные использованным в тойже первой заметке цикла.
22 декабря 2011 г.
NetworkX [заметки о визуализации графов на python]
В заметках этого цикла будут рассмотренны несколько известных библиотек для визуализации графов, имеющие python-api.
В каждой заметке произведено сравнение скорости работы различных алгоритмов расстановки графов, а также примерные значения требуемой памяти.
Все сравнения я буду производить на невзвешенном ориентированном графе, включающем около 5 тысяч вершин и 18 тысяч рёбер.
Тестовая машинка - 4GB RAM + i3 540 3.07 GHz (x4).
Мерить будем пиковое значение памяти и время работы, поскольку для меня именно эти метрики являются критичными.
В каждой заметке произведено сравнение скорости работы различных алгоритмов расстановки графов, а также примерные значения требуемой памяти.
Все сравнения я буду производить на невзвешенном ориентированном графе, включающем около 5 тысяч вершин и 18 тысяч рёбер.
Тестовая машинка - 4GB RAM + i3 540 3.07 GHz (x4).
Мерить будем пиковое значение памяти и время работы, поскольку для меня именно эти метрики являются критичными.
7 декабря 2011 г.
NetBeans 7.* и Python
Из стандартных плагинов недоступна, однако же есть дев версия плагина.
- Идём в Tools -> Plugins -> Settings
- Жмакаем кнопочку Add
- Называем новый источник как угодно и вставляем ссыль http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz
- Обратно Available Plugins и жмакаем кнопочку Reload Catalog
- Ищем питон и ставим как обычно
Matplotlib и "FloatingPointError: underflow encountered in multiply"
Случилось мне столкнуться с мистической ошибкой при использовании matplotlib - библиотеки для рисования графиков и визуализации различных математических результатов, имеющей крайне Matlab Like API =)
Ошибка поставляется вместе с тучным traceback-ом, указывающим в итоге на
File "/usr/lib/python2.6/site-packages/numpy/ma/core.py", line 772, in __call__
return umath.absolute(a) * self.tolerance >= umath.absolute(b)
Тобишь ошибочка гдето внутрях ядра numpy, который библиотека юзает для своих целей.
Мистика заключается в том, что получить эту ошибку мне удалось только в связке версий 1.0.1 и 1.6.1 для matplotlib и numpy соответственно и только на python-е версии 2.6.5.
Ошибка поставляется вместе с тучным traceback-ом, указывающим в итоге на
File "/usr/lib/python2.6/site-packages/numpy/ma/core.py", line 772, in __call__
return umath.absolute(a) * self.tolerance >= umath.absolute(b)
Тобишь ошибочка гдето внутрях ядра numpy, который библиотека юзает для своих целей.
Мистика заключается в том, что получить эту ошибку мне удалось только в связке версий 1.0.1 и 1.6.1 для matplotlib и numpy соответственно и только на python-е версии 2.6.5.
Подписаться на:
Сообщения (Atom)