Thư viện đồ thị .NET xung quanh? [đóng cửa]


92

Tôi đang tìm kiếm thư viện Đồ thị cho .net. Có bất kỳ ra ngoài?

ps: Ý tôi là thư viện ĐỒ HỌA, không phải đồ họa hay thư viện biểu đồ!

chỉnh sửa: Ý tôi là đồ thị, từ lý thuyết đồ thị: (nguồn: sourceforge.net )văn bản thay thế

Tôi cũng cần nó để có khả năng vẽ.


Có lẽ nó có thể hữu ích: github.com/komorra/NodeEditorWinforms
komorra

Liên kết hình ảnh dường như bị phá vỡ (nó chuyển hướng đến một cái gì đó khác bây giờ)
UuDdLrLrSs

Câu trả lời:


44

Sử dụng kết hợp QuickGraph ( GitHub , CodePlex ) và Graph # cho WPF ( GitHub fork , CodePlex ) - cả hai thư viện hàng đầu. Chúng hoạt động thực sự tốt đối với tôi nhưng tài liệu cho Graph # hầu như không tồn tại.


16

Tôi đang làm việc trong nhóm NDepend và chúng tôi đã chuyển từ GraphViz sang MsAgl ( Microsoft Automatic Graph Layout ) vào tháng 9 năm 2008. Giấy phép MsAgl cho phép sử dụng cho mục đích thương mại. Dưới đây là một vài hình ảnh mẫu về đồ thị MsAgl được tích hợp trong NDepend (mọi thứ đều tương tác, các nút có thể di chuyển / có thể chọn / có thể tháo rời / có thể nhấp, các cạnh có thể chỉnh sửa / có thể chọn / có thể tháo rời / có thể nhấp, bố cục có thể thu phóng và đồng thời, nó có thể gọn gàng hơn API MsAgl đủ sạch để làm việc với):

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


Cũng có thể chơi với AGL tại rose4fun.com/Agl và xem đồ thị từ những người khác ở đó tại rose4fun.com/rest/samples/rss/Agl
George Birbilis

2
Lưu ý rằng MSAGL hiện là OpenSource theo giấy phép MIT tại GitHub: github.com/Microsoft/automatic-graph-layout và dường như vẫn được bảo trì, vì một số bản sửa lỗi cho phiên bản Silverlight đã được đẩy gần đây
George Birbilis

Về việc thử AGL tại trang Rise4Fun mà tôi đã đề cập, có thể là một lựa chọn đơn giản để động não, nhưng bạn chỉ nhập biểu đồ ở dạng văn bản ở đó và các nhãn bạn sử dụng cho các nút được sử dụng làm ID trong cú pháp văn bản đó, vì vậy tôi đoán bạn không thể có một nút có cùng nhãn (giả sử Nội bộ) ở hai vị trí trong biểu đồ. Có vẻ như bạn cũng có thể sử dụng nhãn cho các cạnh của biểu đồ (cho các liên kết), sử dụng cú pháp được hiển thị tại rose4fun.com/Agl/fsm (nhấn nút PHÁT ở đó và sau đó cuộn xuống để xem biểu đồ nào được tạo)
George Birbilis

Tôi có thể tải xuống phiên bản nhị phân ổn định ở đâu? Tôi không muốn xây dựng mọi nguồn không rõ chất lượng.
Thomas Weller

Tôi đoán đây github.com/Microsoft/automatic-graph-layout không chắc chắn nếu phiên bản nhị phân được bao gồm
Patrick từ đội NDepend

12

Bài viết trước của tôi bị xóa. Tôi sẽ cố gắng đưa ra câu trả lời phức tạp hơn cho câu hỏi. Câu trả lời trên cùng không còn thực tế nữa vì thư viện Graph # đã lỗi thời.

Tôi khuyên bạn nên kiểm tra sự kết hợp giữa GraphXQuickgraph . GraphX ​​làm công cụ kết xuất và Quickgraph làm thành phần quản lý đồ thị và hoạt động toán học.

Thư viện GrpahX được mã hóa cho WPF 4.0 và METRO. Nó cung cấp nhiều tính năng mà Graph # thiếu:

  • Cải thiện hiệu suất hiển thị cho các biểu đồ lớn
  • Định tuyến cạnh và hỗ trợ gói, nhiều tùy chọn cạnh khác
  • Điều khiển thu phóng được mã hóa hỗ trợ cửa sổ Tổng quan và lựa chọn nhiều đỉnh
  • Tài liệu phong phú và mẫu

Ngoài ra GraphX ​​hỗ trợ tất cả các thuật toán bố cục ban đầu từ Graph #. Vui lòng truy cập http://panthernet.ru/forum nếu bạn có bất kỳ câu hỏi nào!


Liên kết GraphX ​​đã chết.
xabush

Không, vừa gặp sự cố nghiêm trọng với vi-rút trên máy chủ. Diễn đàn đang trực tuyến.
Alexander Smirnov

9

QuickGraph , nó hoạt động khá tốt và có hầu hết các thuật toán cơ bản.


Đẹp nhưng dường như không thể vẽ biểu đồ.
elysium nuốt chửng vào

2
Thật. Tôi có ấn tượng rằng bạn đang hỏi về tính toán với các biểu đồ, hơn là vẽ chúng. Tuy nhiên, nó xuất ra các định dạng được sử dụng bởi một vài công cụ kết xuất khác nhau.
Doug McClean

5

Hãy xem yWorks: http://www.yworks.com/en/index.html

Không có một lượng lớn các thư viện tốt ngoài kia, từ những gì tôi đã thấy.


1
Có vẻ tuyệt vời, nhưng 7k cho một thư viện là ... quá nhiều đối với tôi.
elysium bị nuốt chửng vào

tuyệt vời, đó là một trong những lựa chọn rẻ hơn!
AS

1
Nó là 7k, nhưng tôi đã từng thấy thú vị với một API hơn là các thư viện yWorks .NET và WPF.
Matthew Ruston

5

Bạn có thể sử dụng API NodeXL từ Microsoft Research tại: http://www.codeplex.com/NodeXL nhưng một câu hỏi tương tự đã được hỏi tại: /programming/44090/do-you-know-any -graph-visualization-Library-for-net /


Nghe có vẻ hay, nhưng từ những gì tôi thấy bây giờ từ các ví dụ của họ, có vẻ như về cơ bản bạn phải vẽ mọi thứ một mình, đó sẽ là một vấn đề vì tôi có hàng nghìn nút để vẽ.
elysium nuốt chửng

Tôi không hoàn toàn chắc chắn ý bạn là 'tự vẽ mọi thứ', NodeXL vừa là một tiện ích mở rộng cho Excel nhưng cũng là một API cho .Net và nó hỗ trợ các thuật toán bố cục đồ thị như bố cục hướng lực (Fruchterman-Reingold hoặc Harel-Koren đa tỷ lệ nhanh) hoặc bố cục hình học (hình tròn, lưới, xoắn ốc, v.v.). Tôi đã sử dụng nó bản thân mình và không có nhiều công việc 'thủ công'
DrDee

Tôi đang nói về điều khác, tôi bối rối với một câu trả lời khác. Nhưng có vẻ như NodeXL yêu cầu Office 2007. Tôi thậm chí còn chưa cài đặt Office.
devoured elysium 16/10/09

Tôi đã cài đặt cái này. Bây giờ tôi phải sử dụng nó từ c # như thế nào?
Elysium nuốt

đảm bảo rằng bạn cài đặt thư viện API chứ không phải phần mở rộng Office Excel. API có sẵn tại địa chỉ: codeplex.com/NodeXL/Release/... các namespace của NodeXL là Microsoft.NodeXL để bạn có thể import nó bằng lệnh: nhập khẩu Microsoft.NodeXL.Core nhập khẩu Microsoft.NodeXL.Visualization (Tôi nghĩ rằng hai là nhất thư viện quan trọng). Chỉ cần đảm bảo rằng đường dẫn IDE của bạn có chứa thư mục NodeXL.
DrDee

3

Tôi chưa thử nhưng đã xem qua một đề nghị thú vị từ MS Research để hiển thị các đồ thị có hướng Bố trí đồ thị tự động của Microsoft .

Hãy thử sử dụng "đồ thị có hướng" hoặc "đồ thị" cho các cụm từ tìm kiếm. Tôi nhận được rất nhiều lượt truy cập.


3

Hãy nhìn vào Satsuma . Được viết bằng C #, chủ yếu là các thuật toán đồ thị, nhưng cũng có một số cách bố trí và vẽ đồ thị cơ bản.


2

Kiểm tra http://quickgraph.codeplex.com/ Họ có hỗ trợ hiển thị thông qua DotViz và Glee.

Để dễ hình dung, tôi cũng sẽ kiểm tra

http://flare.prefuse.org/

Mặc dù đèn flash của nó, nó có vẻ rất thú vị và ít nhất chúng có hình ảnh cây, mặc dù bạn có thể lấy một số đồ thị không có hướng ra khỏi nó.


0

Đó không phải chỉ chứa một số ví dụ về thuật toán đồ thị được xây dựng trên cấu trúc dữ liệu thu thập sao? Tôi đã đoán câu hỏi yêu cầu một cái gì đó giống như thư viện C ++ BGL ( boost.org/doc/libs/1_40_0/libs/graph/doc/index.html ).
Pontus Gesy

Bạn nói đúng Pontus. Có một lớp Graph trong các ví dụ hướng dẫn sử dụng nhưng nó không phải là một phần của thư viện. Đó là một ví dụ được xây dựng dựa trên nó. Và một mớ hỗn độn, không đầy đủ về điều đó khi xem xét nguồn.
Paul Sasik

Nhưng nó có thể được sử dụng, cũng nó giống như một cách tiếp cận .......
jjchiw

0

Buddy Tôi nghĩ đây là những gì bạn cần!

Bài viết này trình bày Thư viện đồ thị chung, 100% C #. Thư viện này là một nỗ lực để chuyển Thư viện Đồ thị Tăng cường (BGL) từ C ++ sang C #.


1
Có nhưng nó có một số vấn đề khi cố gắng vẽ biểu đồ, từ những gì tôi đã đọc trên nhận xét của codeproject.
devoured elysium

0

Chúng tôi đã sử dụng ZedGraph , một dự án Mã nguồn mở được viết bằng C #, vì vậy bạn có thể chỉnh sửa nó nếu cảm thấy cần thiết. Nó phục vụ nhu cầu của chúng tôi mà nghe có vẻ như chúng rất gần với những gì bạn mô tả. Thậm chí còn có một trang wiki cho dự án với một số mẫu khá tốt.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.