Graphviz: Làm thế nào để đi từ .dot đến đồ thị?


431

Tôi dường như không thể tìm ra điều này. Tôi có một tệp .dot, hợp lệ theo cú pháp. Làm cách nào để sử dụng graphviz để chuyển đổi hình ảnh này thành hình ảnh?

(lưu ý rằng tôi đang dùng Windows, không phải linux)


17
Đối với windows: dl msi và cài đặt; Tìm gvedit.exetrong danh sách chương trình của bạn; Mở .dottập tin trong câu hỏi; Nhấp vào người đang chạy trên thanh công cụ; Đi đến graph -> settings; thay đổi Output file typeloại tệp theo ý thích của bạn và nhấn ok .. Nó không nói gì cả, bạn chỉ cần tìm tệp trong cùng thư mục với tệp .dot của mình.
ashley

Câu trả lời:


456

kiểu: dot -Tps filename.dot -o outfile.ps

Nếu bạn muốn sử dụng trình kết xuất dấu chấm. Có những lựa chọn thay thế như Simplo và twopi. Nếu graphiz không nằm trong đường dẫn của bạn, hãy tìm ra nơi nó được cài đặt và chạy nó từ đó.

Bạn có thể thay đổi định dạng đầu ra bằng cách thay đổi giá trị sau -Tvà chọn phần mở rộng tên tệp thích hợp sau-o .

Nếu bạn đang sử dụng windows, hãy kiểm tra công cụ đã cài đặt có tên GVEdit, nó giúp cho toàn bộ quá trình dễ dàng hơn một chút.

Hãy xem trang web graphviz trong phần có tên "Hướng dẫn của người dùng" để biết thêm chi tiết về cách sử dụng các công cụ:

http://www.graphviz.org/documentation/

(Xem trang 27 để biết định dạng đầu ra cho lệnh dot chẳng hạn)

http://www.graphviz.org/pdf/dotguide.pdf


1
bằng cách nào đó, bản xem trước GVEdit luôn hiển thị hình ảnh để trống. Khi tôi cố gắng lưu hình ảnh, không có gì xảy ra.
Nick Heiner

7
Có thể làm cho GVEdit nhớ kích thước và vị trí của các cửa sổ Bố cục không? Nó khiến tôi phát điên rằng khi tôi nhấn F5, nó luôn thu nhỏ kích thước của cửa sổ bố trí trở về mặc định!
Khóa Matthew

@PaulMcMillan, bạn có thể giúp tôi giải quyết vấn đề ở đây không : http://stackoverflow.com/questions/26477403/graphviz-dot-to-ps-issue, đầu ra của tôi được giới hạn ở một trang sửa lỗi và một số phần nằm ngoài trang
Amir

AFAIK, không thể khiến GVEdit nhớ các cửa sổ. Tôi đồng ý UX để lại một cái gì đó được mong muốn.
Paul McMillan

Tôi đã tạo một tệp terraform.dot từ một lệnh đồ thị terraform. Tôi đang ở trên cửa sổ. tôi đã làm -o outfile.jpg và khi tôi nhấp đúp vào jpg, nó sẽ khóa trình thám hiểm. Đã thử gif cũng và có vấn đề tương tự.
JDPeckham

203
dot -Tps input.dot > output.eps
dot -Tpng input.dot > output.png

Đầu ra PostScript dường như luôn luôn ở đó. Tôi không chắc chắn nếu chấm có đầu ra PNG theo mặc định. Điều này có thể phụ thuộc vào cách bạn đã xây dựng nó.


40
thay vì sử dụng>, tôi khuyên bạn nên sử dụng tham số «-o»
Rytek

9
Tùy thuộc vào hệ thống của bạn có hỗ trợ gì, bạn có thể xuất sang tất cả các loại định dạng tệp. Tôi thấy dot -Tsvg input.dot > output.svgkhá hữu ích.
Thane Brimhall

4
Dễ dàng hơn một chút, hãy để dot chọn tên tệp dựa trên tên tệp và loại tệp đầu vào: dot -Tpng -O file.dot (sẽ tạo file.png)
Andrew Mackenzie

97

dấu chấm tập tin.dot -Tpng -o image.png

Điều này hoạt động trên Windows và Linux. Graphviz phải được cài đặt.


2
Thêm Graphviz vào đường dẫn
Anupama G

6
Trên OSX, trước tiên bạn cần cài đặt Graphviz bằng Homebrew:brew install graphviz
Dennis

1
Tôi có thể tạo một hình ảnh png với dấu chấm, nhưng nền có màu trắng. Tôi cần một nền tảng trong suốt. Có cách nào để có được nó?
Sujai Sivasamy

1. Cài đặt Graphviz từ graphviz.gitlab.io/_pages/Doad/Doad_windows.html 2. Thêm 'C: \ Program Files (x86) \ Graphviz2.38 \ bin' vào biến hệ thống của bạn PATH 3. Mở cmd và đi đến dir nơi bạn đã lưu tệp .dot 4. Sử dụng lệnh 'dot yourFile.dot -Tpng -o image.png'
Subhashi

36

23
Tôi hoàn toàn làm Erdos và quên nó từ lâu. Tôi không biết có bao nhiêu người liên kết với nó!

1
thêm một nút quyên góp;)
Biệt thự Ivan Ferrer

Tôi đang cố gắng tạo một biểu đồ cho ngữ pháp C từ đây quut.com/c/ANSI-C-grammar-y.html . Nhưng nó không thành công. Là ngữ pháp này quá lớn để được xử lý?
Thủy Nguyễn

32

Lấy graphviz-2.24.msi Graphviz.org . Sau đó nhận được zgrviewer .

Zgrviewer yêu cầu java (có thể là 1,5+). Bạn có thể phải đặt đường dẫn đến các nhị phân Graphviz trong tùy chọn của Zgrview.

Tệp -> Mở -> Mở bằng dấu chấm -> Đường ống SVG (tiêu chuẩn) ... Chọn tệp .dot của bạn.

Bạn có thể phóng to, xuất, tất cả các loại công cụ thú vị.


7
Rất nhiều tính năng, nhưng một thiết kế giao diện hoàn toàn điên rồ!
Casebash

11

Điều này nên kết hợp rất nhiều câu trả lời.

# Convert dot to png via graphviz
dot -Tpng filename.dot -o filename.png

# Convert dot to svg via graphviz
dot -Tsvg filename.dot -o filename.svg

# Convert dot to eps via graphviz
dot -Tps filename.dot -o filename.eps

Hãy nhớ rằng trên OSX (MAC), bạn cần cài đặt homebrew để cài đặt graphviz để có thể sử dụng các lệnh chấm ở trên.

brew install graphviz

Cũng có thể cài đặt Graphviz (và sử dụng các lệnh ở trên) thông qua chức năng quản lý gói của conda nếu bạn đã cài đặt Anaconda.

conda install python-graphviz

8

Bạn cũng có thể xuất tệp của mình ở định dạng xdot, sau đó kết xuất tệp trong trình duyệt bằng canviz, thư viện JavaScript.

Canviz trên code.google.com :

Để xem ví dụ, có một liên kết "Canviz Demo" trên trang ở trên kể từ ngày 2 tháng 11 năm 2014.



2

Đối với người dùng cửa sổ, Vui lòng chạy lệnh hoàn chỉnh để chuyển đổi tệp * .dot thành png:

C:\Program Files (x86)\Graphviz2.38\bin\dot.exe" -Tpng sampleTest.dot > sampletest.png.....

Tôi đã tìm thấy một lỗi trong solgraph rằng nó đang sử dụng phiên bản cũ của trình phân tích cú pháp solidity dường như không đủ thông minh để nắm bắt sự cải tiến mới được thực hiện cho chính ngôn ngữ lập trình solidity, ví dụ như phát ra từ khóa cho Sự kiện


2

Bạn có thể sử dụng một công cụ trực tuyến rất tốt cho nó. Đây là liên kết dreampuf.github.io Chỉ cần thay thế mã bên trong editer bằng mã của bạn.


1

Bạn có thể sử dụng mã VS và cài đặt tiện ích mở rộng Graphviz hoặc,

  1. Cài đặt Graphviz từ https://graphviz.gitlab.io/_pages/Doad/Doad_windows.html
  2. Thêm vào C:\Program Files (x86)\Graphviz2.38\bin (hoặc your_installation_path / bin) vào biến hệ thống PATH của bạn
  3. Mở cmd và đi đến thư mục nơi bạn đã lưu tệp .dot
  4. Sử dụng lệnh dot music-recommender.dot -Tpng -o image.png

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

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.