.NET 그래프 라이브러리 주변? [닫은]


92

.net 용 그래프 라이브러리를 찾고 있습니다. 밖에 없습니까?

추신 : 그래픽이나 차트 라이브러리가 아닌 GRAPH 라이브러리를 의미합니다!

편집 : 내가 의미하는 것은 그래프 이론에서 그래프입니다. (출처 : sourceforge.net )대체 텍스트

그리기 기능도 필요합니다.


아마 유용 할 수있다 : github.com/komorra/NodeEditorWinforms
komorra

이미지 링크가 깨진 것 같다 (그것은 다른 지금 뭔가로 리디렉션)
UuDdLrLrSs

답변:



16

저는 NDepend 팀에서 일하고 있으며 2008 년 9 월에 GraphViz에서 MsAgl ( Microsoft Automatic Graph Layout )로 전환 했습니다. MsAgl 라이선스는 상업적 사용을 허용합니다. 다음의 몇 가지 샘플 사진되어 MsAgl이 NDepend에 통합 그래프 (모든, 대화 형 노드입니다 이동 / 선택 / 분리 / 클릭, 가장자리는 편집 / 선택 / 분리 / 클릭, 그것은 청소기 될 수 있지만 레이아웃, 줌 가능하고, 또한 MsAgl API는 작업하기에 충분히 깨끗합니다.)

여기에 이미지 설명 입력 여기에 이미지 설명 입력 여기에 이미지 설명 입력


도에 AGL로 재생할 수 rise4fun.com/Agl 에 거기에 다른 사람에서 그래프를 볼 rise4fun.com/rest/samples/rss/Agl
조지 Birbilis에게

2
MSAGL은 이제 GitHub : github.com/Microsoft/automatic-graph-layout의 MIT 라이선스에 따라 OpenSource 이며 Silverlight 버전에 대한 일부 수정 사항이 최근 푸시 되었기 때문에 유지되는 것 같습니다
George Birbilis

앞서 언급 한 Rise4Fun 사이트에서 AGL을 시도하는 것과 관련하여 브레인 스토밍을위한 간단한 옵션 일 수 있지만 그래프를 텍스트 형식으로 만 입력하면 노드에 사용하는 레이블이 해당 텍스트 구문에서 ID로 사용됩니다. 그래프의 두 위치에 같은 레이블 (예 : House)을 가진 노드를 가질 수 없습니다. 또한 rise4fun.com/Agl/fsm (여기 에서 PLAY 버튼을 누른 다음 아래로 스크롤하여 어떤 그래프가 생성되는지 확인 )를 사용하여 (링크 용) 그래프의 가장자리에 레이블을 사용할 수도 있습니다.
George Birbilis

안정적인 바이너리 버전은 어디에서 다운로드 할 수 있습니까? 알 수없는 품질의 모든 소스를 만들고 싶지 않습니다.
그리고 나는

여기 추측 github.com/Microsoft/automatic-graph-layout을 하지 않도록 바이너리 버전이 포함 된 경우
NDepend 팀의 패트릭에게

12

내 이전 게시물이 삭제되면 질문에 대해 더 복잡한 답변을 드리겠습니다. Graph # 라이브러리가 매우 오래 되었기 때문에 최상위 답변은 더 이상 실제적이지 않습니다.

GraphXQuickgraph 의 조합을 확인하는 것이 좋습니다 . 렌더링 엔진으로서의 GraphX ​​및 그래프 관리 및 수학 연산 구성 요소로서의 Quickgraph.

GrpahX 라이브러리는 WPF 4.0 및 METRO 용으로 코딩되었습니다. Graph #에없는 많은 기능을 제공합니다.

  • 큰 그래프의 렌더링 성능 향상
  • 에지 라우팅 및 번들링 지원, 기타 여러 에지 옵션
  • 개요 창 및 여러 정점 선택을 지원하는 강화 된 확대 / 축소 제어
  • 풍부한 문서 및 샘플

또한 GraphX는 Graph #의 모든 원본 레이아웃 알고리즘을 지원합니다. 질문이 있으면 http://panthernet.ru/forum을 방문 하십시오 !


GraphX ​​링크가 작동하지 않습니다.
xabush

아니요, 호스팅시 바이러스에 심각한 문제가있었습니다. 포럼은 온라인입니다.
Alexander Smirnov

9

QuickGraph있으며 꽤 잘 작동하며 대부분의 기본 알고리즘이 있습니다.


멋지지만 그래프를 그릴 수없는 것 같습니다.
삼켜 진 elysium

2
진실. 그래프를 그리는 것이 아니라 그래프로 계산하는 것에 대해 묻는 인상을 받았습니다. 하지만 몇 가지 다른 렌더링 도구에서 사용하는 형식으로 출력합니다.
Doug McClean

5

yWorks를 살펴보십시오 : http://www.yworks.com/en/index.html

내가 본 것에서 많은 양의 좋은 라이브러리가 없습니다.


1
굉장해 보이지만 라이브러리에 대한 7k는 나에게 너무 많은 것입니다.
삼켜 진 elysium

놀랍게도 그것은 더 저렴한 옵션 중 하나입니다!
AS

1
7k이지만 yWorks .NET 및 WPF 라이브러리보다 API를 사용하는 것이 더 즐거웠습니다.
Matthew Ruston

5

Microsoft Research ( http://www.codeplex.com/NodeXL) 의 NodeXL API를 사용할 수 있지만 유사한 질문이 /programming/44090/do-you-know-any 에서 요청되었습니다. -그래프 시각화 라이브러리 -for-net /


좋게 들리지만, 지금 그들의 예제에서 본 것에서는 기본적으로 모든 것을 직접 그려야하는 것 같습니다. 수천 개의 노드를 그릴 수 있기 때문에 문제가 될 것입니다.
삼켜 진 elysium

'모든 것을 직접 그리다'라는 말이 무슨 뜻인지 잘 모르겠습니다. NodeXL은 Excel의 확장 일뿐만 아니라 .Net 용 API이며 강제 방향 레이아웃 (Fruchterman-Reingold 또는 Harel-Koren)과 같은 그래프 레이아웃 알고리즘을 지원합니다. 빠른 멀티 스케일) 또는 기하학적 레이아웃 (원, 그리드, 나선형 등). 내가 직접 사용해
보았고

나는 다른 것에 대해 말하고 있었는데, 다른 대답과 혼란 스러웠습니다. 하지만 NodeXL은 Office 2007을 필요로하는 것 같습니다. 저는 사무실도 설치하지 않았습니다.
삼켜 진 elysium

이미 설치했습니다. 이제 C #에서 어떻게 사용해야합니까?
삼켜 진 elysium

Office Excel 확장이 아닌 API 라이브러리를 설치해야합니다. 이 API는 다음에서 사용할 수 있습니다. codeplex.com/NodeXL/Release/… NodeXL의 네임 스페이스는 Microsoft.NodeXL이므로 다음을 사용하여 가져올 수 있습니다. import Microsoft.NodeXL.Core import Microsoft.NodeXL.Visualization (이 두 가지가 가장 중요한 라이브러리). IDE의 경로에 NodeXL 폴더가 포함되어 있는지 확인하십시오.
DrDee 2010 년

3

나는 아직 시도하지 않았지만 방향 그래프를 시각화하기 위해 MS Research에서 흥미로운 제품을 발견했습니다 . Microsoft Automatic Graph Layout .

검색어에 대해 "방향 그래프"또는 "digraph"를 사용해보십시오. 나는 많은 히트를 받는다.


3

Satsuma를 보세요 . 주로 그래프 알고리즘 인 C #으로 작성되었지만 몇 가지 기본 그래프 레이아웃과 그리기도 있습니다.



0

여기 에는 컬렉션 데이터 구조에 구축 된 그래프 알고리즘의 몇 가지 예가 포함되어 있지 않습니까? 질문이 C ++ BGL 라이브러리 ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ) 와 같은 것을 요구한다고 짐작했을 것 입니다.
Pontus Gagge

당신이 맞아요 Pontus. 사용자 가이드 예제에는 Graph 클래스가 있지만 라이브러리의 일부는 아닙니다. 그 위에 구축 된 예제입니다. 소스를 보면 지저분하고 불완전한 것입니다.
Paul Sasik

그러나 그것은 사용될 수 있습니다, 음 그것은 접근과 같습니다 .......
jjchiw

0

친구 생각 당신이 필요합니다!

이 기사에서는 일반 그래프 라이브러리, 100 % C #을 제공합니다. 이 라이브러리는 C ++에서 C #으로 BGL (Boost Graph Library)을 이식하려는 시도입니다.


1
예,하지만 코드 프로젝트의 주석에서 읽은 내용에서 그래프를 그리려고 할 때 몇 가지 문제가 있습니다.
삼켜 진 elysium

0

C #으로 작성된 오픈 소스 프로젝트 인 ZedGraph 를 사용 했기 때문에 필요하다고 생각되면 조정할 수 있습니다. 그것은 당신이 묘사 한 것과 매우 가까운 것처럼 들리는 우리의 필요를 충족 시켰습니다. 꽤 좋은 샘플이있는 프로젝트 위키 사이트 도 있습니다 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.