Graphviz: จะไปจาก. dot เป็นกราฟได้อย่างไร


431

ฉันดูเหมือนจะไม่สามารถคิดออก ฉันมีไฟล์. dot ซึ่งถูกต้องตามไวยากรณ์ ฉันจะใช้ graphviz เพื่อแปลงเป็นภาพได้อย่างไร?

(โปรดทราบว่าฉันใช้ Windows ไม่ใช่ Linux)


17
สำหรับ windows: dl msi และติดตั้ง; ค้นหาgvedit.exeในรายการโปรแกรมของคุณ เปิด.dotไฟล์ที่เป็นปัญหา คลิกเรียกใช้บุคคลบนแถบเครื่องมือ ไปที่graph -> settings; เปลี่ยนOutput file typeเป็นประเภทไฟล์ที่คุณชื่นชอบแล้วกดตกลง .. ไม่ได้พูดอะไรคุณเพียงแค่ค้นหาไฟล์ในไดเรกทอรีเดียวกับไฟล์. dot ของคุณ
แอชลีย์

คำตอบ:


456

พิมพ์: dot -Tps filename.dot -o outfile.ps

หากคุณต้องการใช้ dot renderer มีทางเลือกเช่นเรียบร้อยและ twopi หาก graphiz ไม่ได้อยู่ในเส้นทางของคุณให้หาที่ติดตั้งและเรียกใช้จากที่นั่น

คุณสามารถเปลี่ยนรูปแบบผลลัพธ์โดยการเปลี่ยนแปลงค่าหลังจากนั้น-Tและเลือกนามสกุลไฟล์ที่เหมาะสมหลังจากนั้น-oนั้น

หากคุณใช้ windows ให้ลองใช้เครื่องมือที่ติดตั้งชื่อว่า GVEdit ซึ่งจะทำให้กระบวนการทั้งหมดง่ายขึ้นเล็กน้อย

ไปที่ไซต์ graphviz ในส่วนที่เรียกว่า "คำแนะนำผู้ใช้" สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการใช้เครื่องมือ:

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

(ดูที่หน้า 27 สำหรับการจัดรูปแบบเอาต์พุตสำหรับคำสั่ง dot เป็นต้น)

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


1
อย่างใดการแสดงตัวอย่าง GVEdit จะแสดงภาพให้ว่างเสมอ เมื่อฉันพยายามบันทึกภาพไม่มีอะไรเกิดขึ้น
Nick Heiner

7
เป็นไปได้ไหมที่ GVE จะจำขนาดและตำแหน่งของหน้าต่างเลย์เอาต์? มันทำให้ฉันรู้สึกว่าเมื่อฉันกด F5 มันจะลดขนาดของเลย์เอาต์กลับไปเป็นค่าเริ่มต้นเสมอ!
แมทธิวล็อค

@PaulMcMillan คุณสามารถช่วยฉันด้วยปัญหา m ที่นี่: http://stackoverflow.com/questions/26477403/graphviz-dot-to-ps-issueผลลัพธ์ของฉันถูกผูกไว้กับหน้าแก้ไขและบางส่วนอยู่นอกหน้า
Amir

AFAIK เป็นไปไม่ได้ที่ GVE จะจดจำหน้าต่าง ฉันเห็นด้วยว่า UX ออกจากสิ่งที่ต้องการ
Paul McMillan

ฉันสร้างไฟล์ terraform.dot จากคำสั่งกราฟฟอร์เรนต์ ฉันอยู่บน windows ฉันทำ -o outfile.jpg และเมื่อฉันคลิกสองครั้ง jpg มันจะล็อค explorer พยายาม GIF ด้วยและได้รับปัญหาเดียวกัน
JDPeckham

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

เอาต์พุต PostScript ดูเหมือนจะมีอยู่เสมอ ฉันไม่แน่ใจว่าจุดมีเอาต์พุต PNG เป็นค่าเริ่มต้น สิ่งนี้อาจขึ้นอยู่กับวิธีที่คุณสร้างขึ้น


40
แทนที่จะใช้> ฉันแนะนำให้ใช้พารามิเตอร์« -o »
Rytek

9
คุณสามารถส่งออกไปยังรูปแบบไฟล์ทุกประเภททั้งนี้ขึ้นอยู่กับสิ่งที่สนับสนุนระบบของคุณ ฉันพบว่าdot -Tsvg input.dot > output.svgมีประโยชน์มาก
Thane Brimhall

4
ง่ายขึ้นเล็กน้อยให้ dot เลือกชื่อไฟล์ตามชื่อไฟล์อินพุตและประเภทไฟล์: dot -Tpng -O file.dot (จะสร้างไฟล์. png)
Andrew Mackenzie

97

dot file.dot -Tpng -o image.png

สิ่งนี้ใช้ได้กับ Windows และ Linux ต้องติดตั้ง Graphviz


2
เพิ่ม Graphviz to Path
Anupama G

6
ใน OSX คุณจะต้องติดตั้ง Graphviz ก่อนโดยใช้ Homebrew:brew install graphviz
Dennis

1
ฉันสามารถสร้างภาพ png ด้วยจุด แต่พื้นหลังเป็นสีขาว ฉันต้องการพื้นหลังโปร่งใส มีวิธีการรับหรือไม่
Sujai Sivasamy

1. ติดตั้ง Graphviz จากgraphviz.gitlab.io/_pages/Download/Download_windows.html 2. เพิ่ม 'C: \ Program Files (x86) \ Graphviz2.38 \ bin' ไปยังตัวแปรระบบของคุณเส้นทาง 3. เปิด cmd และไปที่ dir ที่คุณบันทึกไฟล์. dot 4. ใช้คำสั่ง 'dot yourFile.dot -Tpng -o image.png'
Subhashi

36

นอกจากนี้ยังมีผู้ชมออนไลน์:
http://www.webgraphviz.com/
http://sandbox.kidstrythisathome.com/erdos/
http://viz-js.com/


23
ฉันทำ Erdos โดยสิ้นเชิงและลืมไปนานแล้ว ฉันไม่รู้ว่ามีกี่คนที่เชื่อมโยงกับมัน!

1
เพิ่มปุ่มบริจาค;)
Ivan Ferrer Villa

ฉันพยายามที่จะสร้างกราฟสำหรับไวยากรณ์ C จากที่นี่quut.com/c/ANSI-C-grammar-y.html แต่มันก็ไม่สำเร็จ ไวยากรณ์นี้ใหญ่เกินไปที่จะจัดการหรือไม่
Thuy Nguyen

32

รับ Graphviz-2.24.msi Graphviz.org จากนั้นได้รับzgrviewer

Zgrviewer ต้องการจาวา (อาจเป็น 1.5+) คุณอาจต้องตั้งค่าพา ธ ไปยัง Graphviz ไบนารีในการตั้งค่าของ Zgrviewer

ไฟล์ -> เปิด -> เปิดด้วยจุด -> ไปป์ไลน์ SVG (มาตรฐาน) ... เลือกไฟล์. dot ของคุณ

คุณสามารถซูมเข้าส่งออกสิ่งของสนุก ๆ ทุกชนิด


7
คุณสมบัติมากมาย แต่การออกแบบส่วนต่อประสานที่บ้าคลั่งอย่างแน่นอน!
Casebash

11

ควรรวมคำตอบจำนวนมาก

# 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

โปรดทราบว่าใน OSX (MAC) คุณต้องติดตั้งhomebrewเพื่อติดตั้ง graphviz เพื่อให้สามารถใช้คำสั่ง dot ด้านบน

brew install graphviz

นอกจากนี้ยังเป็นไปได้ที่จะติดตั้ง Graphviz (และใช้คำสั่งด้านบน) ผ่านฟังก์ชันการทำงานของตัวจัดการแพคเกจของ conda หากคุณติดตั้ง Anaconda

conda install python-graphviz

8

คุณยังสามารถส่งออกไฟล์ของคุณในรูปแบบ xdot จากนั้นแสดงผลในเบราว์เซอร์โดยใช้ canviz ซึ่งเป็นไลบรารี JavaScript

Canviz บน code.google.com :

หากต้องการดูตัวอย่างมีลิงก์ "Canviz Demo" บนหน้าเว็บด้านบนตั้งแต่วันที่ 2 พฤศจิกายน 2014


4

ไม่มีข้อกำหนดของการแปลงใด ๆ

เราสามารถใช้xdot ได้คำสั่งใน Linux ซึ่งเป็นตัวแสดงเชิงโต้ตอบสำหรับไฟล์ Graphviz dot

อดีต: xdot file.dot

สำหรับอินฟอร์เพิ่มเติม: https://github.com/rakhimov/cppdep/wiki/How-to-view-or-work-with-Graphviz-Dot-files


ขอบคุณมากฉันรู้สึกโง่ที่ไม่ได้จับมือกับเวอร์ชันผู้ดูจุด! :)
Xenos

2

สำหรับผู้ใช้หน้าต่างกรุณาเรียกใช้คำสั่งสมบูรณ์เพื่อแปลงไฟล์ * .dot เป็น png:

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

ฉันพบข้อผิดพลาดใน solgraph ที่ใช้ solidity-parser รุ่นเก่าซึ่งดูเหมือนจะไม่ฉลาดพอที่จะจับการปรับปรุงใหม่ที่ทำได้สำหรับภาษาการเขียนโปรแกรมแบบ solidity เช่นปล่อยคำสำคัญสำหรับกิจกรรม


2

คุณสามารถใช้เครื่องมือออนไลน์ที่ดีมากสำหรับมัน นี่คือลิงค์ dreampuf.github.io เพียงแทนที่รหัสใน editer ด้วยรหัสของคุณ


1

คุณสามารถใช้รหัส VS และติดตั้งส่วนขยาย Graphviz หรือ

  1. ติดตั้ง Graphviz จาก https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. เพิ่มC:\Program Files (x86)\Graphviz2.38\bin(หรือ your_installation_path / bin) ให้กับตัวแปรระบบ PATH
  3. เปิด cmd และไปที่ dir ที่คุณบันทึกไฟล์. dot
  4. ใช้คำสั่ง dot music-recommender.dot -Tpng -o image.png

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.