.NET граф библиотеки вокруг?

72

Я ищу библиотеки графов для .net. Есть ли какие-либо из них?

ps: Я имею в виду библиотеки GRAPH, а не графики и графические библиотеки!

edit: Я имею в виду графики, из теории графов: alt text http://igraph.sourceforge.net/images/screenshots/fastgreedy.png

Мне также нужно иметь возможности рисования.

  • 0
    Может быть, это может быть полезно: github.com/komorra/NodeEditorWinforms
  • 0
    Ссылка на изображение, кажется, не работает (теперь она перенаправляется на что-то другое)
Теги:
graph

14 ответов

38
Лучший ответ

Используйте комбинацию QuickGraph и График # (WPF) - обе библиотеки верхнего уровня. Они работают очень хорошо для меня, но документация для Graph # почти не существует.

12

Я работаю в команде NDepend, и мы переключились с GraphViz на MsAgl (Автоматическая компоновка графиков Microsoft) в сентябре 2008 года. Лицензия MsAgl разрешает коммерческое использование. Вот несколько примеров снимков Графики MsAgl, интегрированные в NDepend (все интерактивно, узлы являются подвижными/выбираемыми/съемными/кликабельными, ребра доступны для редактирования /selectable/removeable/clickable, макет можно масштабировать, а также, хотя он может быть более чистым, API MsAgl достаточно чист для работы):

Изображение 7852Изображение 7853Изображение 7854

  • 0
    Также можно поиграть с AGL по адресу rise4fun.com/Agl и посмотреть графики других игроков по адресу rise4fun.com/rest/samples/rss/Agl.
  • 2
    Обратите внимание, что MSAGL теперь является OpenSource под лицензией MIT на GitHub: github.com/Microsoft/automatic-graph-layout и, похоже, поддерживается, поскольку некоторое исправление для версии Silverlight было недавно выпущено
Показать ещё 3 комментария
10

Ты, мой предыдущий пост, удалился, я постараюсь дать более сложный ответ на вопрос. Самый верхний ответ не совсем актуальный, так как библиотека Graph # сильно устарела.

Я рекомендую проверить комбинацию GraphX и Quickgraph. GraphX ​​как механизм рендеринга и Quickgraph как компонент управления графикой и математической операцией.

Библиотека GrpahX кодируется для WPF 4.0 и METRO. Он предоставляет множество функций, которые не хватает графику:

  • Улучшенная производительность рендеринга для больших графиков
  • Поддержка маршрутизации и привязки к краям, множество других опций edge
  • Измененный зум-контроль, который поддерживает окно обзора и выбор нескольких вершин
  • Богатая документация и образцы

Также GraphX ​​поддерживает все оригинальные алгоритмы компоновки из Graph #. Пожалуйста, посетите http://panthernet.ru/forum, если у вас есть какие-либо вопросы!

  • 0
    Ссылка на GraphX не работает.
  • 0
    Нет, просто были серьезные проблемы с вирусами на хостинге. Форумы онлайн.
9

Существует QuickGraph, он работает очень хорошо и имеет большинство основных алгоритмов.

  • 0
    Хорошо, но, кажется, не в состоянии рисовать графики.
  • 2
    Правда. У меня сложилось впечатление, что вы спрашивали о вычислениях с графиками, а не рисовать их. Он выводит данные в форматы, используемые несколькими различными инструментами рендеринга.
7

Вы можете использовать Элементы управления диаграммами Microsoft для ASP.NET и WinForms.

5

Вы можете использовать NodeXL API от Microsoft Research по адресу: http://www.codeplex.com/NodeXL, но аналогичный вопрос задавали по адресу: https://stackoverflow.com/questions/44090/do-you-know-any-graph-visualization-libraries-for-net/

  • 0
    Звучит неплохо, но из того, что я сейчас увидел из их примеров, кажется, что вам, по сути, нужно рисовать все самостоятельно, что было бы проблемой, поскольку у меня есть тысячи узлов для рисования.
  • 0
    Я не совсем уверен, что вы подразумеваете под «рисовать все самостоятельно», NodeXL является как расширением для Excel, так и API для .Net, и он поддерживает алгоритмы компоновки графиков, такие как принудительное расположение (Fruchterman-Reingold или Harel-Koren). быстрая многомасштабность) или геометрическая раскладка (круг, сетка, спираль и т. д.). Я использовал это сам, и там не так много ручной работы
Показать ещё 4 комментария
4

Взгляните на yWorks: http://www.yworks.com/en/index.html

Там нет большого количества хороших библиотек, из того, что я видел.

  • 1
    Кажется, это здорово, но 7k для библиотеки - слишком много для меня.
  • 0
    Удивительно, но это один из самых дешевых вариантов!
Показать ещё 1 комментарий
3

Я еще не пробовал, но просмотрел интересное предложение от MS Research для визуализации ориентированных графов Автоматическая компоновка графиков Microsoft.

Попробуйте использовать "ориентированный граф" или "орграф" для поисковых запросов. Я получаю много хитов.

2

Взгляните на Satsuma. Написанный на С#, в основном, алгоритмы графа, но есть также базовый график и чертеж.

2

Отъезд http://quickgraph.codeplex.com/ Они поддерживают визуализацию через DotViz и Glee.

Для визуализации я также проверил

http://flare.prefuse.org/

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

1
  • 0
    Разве это не просто некоторые примеры графовых алгоритмов, построенных на структурах данных коллекции? Я бы догадался, что вопрос требует что-то вроде библиотеки C ++ BGL ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ).
  • 0
    Ты прав, Понт. В примерах руководства пользователя есть класс Graph, но он не является частью библиотеки. Это пример, построенный на его основе. И грязный, неполный в этом от взгляда на источник.
Показать ещё 2 комментария
0

Matlab имеет хорошую поддержку для графического отображения, и с несколькими строками .NET вы можете вызвать файл .m для отображения графиков. См. Создание графика или графика из консольного приложения С# с использованием Matlab?

0

Мы использовали ZedGraph, который является проектом с открытым исходным кодом, написанным на С#, поэтому вы можете настроить его, если вы чувствуете, что это необходимо. Это служило нашим потребностям, которые звучат так, будто они очень близки к тому, что вы описали. Там даже wiki site для проекта с некоторыми хорошими образцами.

0

Бадди, я думаю, это, что вам нужно!

В этой статье представлен общий график Библиотека, 100% С#. Эта библиотека является попытка портировать диаграмму Boost Библиотека (BGL) с С++ на С#.

  • 1
    Да, но у него есть несколько проблем при попытке нарисовать графики, из того, что я прочитал в комментариях к codeproject.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню