นี่คือคำสั่ง graph-easyp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
กราฟง่าย - แสดง/แปลงกราฟใน/จากรูปแบบต่างๆ
เรื่องย่อ
แปลงระหว่างรูปแบบกราฟและกราฟเลย์เอาต์/แสดงผล:
กราฟง่าย [ตัวเลือก] [inputfile [outputfile]]
echo "[ บอนน์ ] - รถ -> [ เบอร์ลิน ]" | กราฟง่าย
กราฟง่าย --input=graph.dot --as_ascii
กราฟง่าย --html --output=mygraph.html graph.txt
กราฟง่าย graph.txt graph.svg
กราฟง่าย graph.txt --as_dot | dot -Tpng -o graph.png
กราฟง่าย graph.txt --png
กราฟง่าย graph.vcg --dot
กราฟง่าย graph.dot --gdl
กราฟง่าย graph.dot --graphml
อาร์กิวเมนต์
ต่อไปนี้คือตัวเลือกที่สำคัญที่สุด ซึ่งเพิ่มเติมอยู่ในเอกสารฉบับเต็ม:
--help พิมพ์เอกสารฉบับเต็ม ไม่ใช่แค่ภาพรวมสั้นๆ นี้
--input ระบุชื่อไฟล์อินพุต ตัวอย่าง:
กราฟง่าย --input=input.txt
รูปแบบจะถูกตรวจจับอัตโนมัติ แทนที่ด้วย --from
--output ระบุชื่อไฟล์ที่ส่งออก ตัวอย่าง:
กราฟง่าย --output=output.txt input.txt
--as ระบุรูปแบบผลลัพธ์ ตัวอย่าง:
กราฟง่าย --as=ascii input.txt
รูปแบบที่ถูกต้องคือ:
การแสดงผลงานศิลปะ ascii ASCII
boxart Unicode การเรนเดอร์ Boxart
HTML HTML
svg กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้
graphviz ภาษา DOT
dot alias สำหรับ "graphviz"
txt Graph::ข้อความง่าย ๆ
vcg VCG (Visualizing Compiler Graphs - ชุดย่อยของ GDL) text
gdl GDL (ภาษาคำอธิบายกราฟ) ข้อความ
กราฟมล GraphML
นอกจากนี้ รูปแบบต่อไปนี้เป็นที่เข้าใจและไพพ์ผ่านโปรแกรม
ระบุด้วยตัวเลือก --renderer (ค่าเริ่มต้น: dot):
bmp บิตแมปของ Windows
กิฟ กิฟ
hpgl HP-GL/2 กราฟิกแบบเวกเตอร์
JPG.JPG
ภาษาเครื่องพิมพ์ PCL PCL
PDF PDF
PNG PNG
ป.ล. Postscript
ps2 Postscript พร้อมสัญลักษณ์ PDF (ดูเอกสารประกอบ graphviz)
tga Targa บิตแมป
tif TIFF บิตแมป
รูปแบบเริ่มต้นจะถูกกำหนดโดยนามสกุลไฟล์เอาท์พุตและ is
"ascii" หากไม่ได้ตั้งชื่อไฟล์เอาต์พุต
คุณยังสามารถใช้ ONE อาร์กิวเมนต์ของแบบฟอร์ม "--as_ascii" หรือ "--ascii"
--จาก ระบุรูปแบบการป้อนข้อมูล รูปแบบที่ถูกต้องคือ:
graphviz ภาษา DOT
txt Graph::ข้อความง่าย ๆ
vcg ข้อความ VCG
gdl GDL (ภาษาคำอธิบายกราฟ) ข้อความ
หากไม่ระบุ รูปแบบอินพุตจะถูกตรวจจับโดยอัตโนมัติ
คุณยังสามารถใช้ ONE อาร์กิวเมนต์ของแบบฟอร์ม "--from_dot" เป็นต้น
--เรนเดอร์
โปรแกรมภายนอก (ค่าเริ่มต้น: "จุด") ใช้เพื่อแสดงรูปแบบเอาต์พุตเช่น
"png", "jpg" เป็นต้น บางตัวเลือก ได้แก่ "neato", "twopi", "fdp" หรือ "circo"
--parse Input จะถูกแยกวิเคราะห์เท่านั้น โดยไม่มีการสร้างเอาต์พุตใดๆ มีประโยชน์ใช้ร่วมกัน
ด้วย "--debug=1" หรือ "--stats" ตัวอย่าง:
กราฟง่าย input.txt --parse --debug=1
--stats เขียนสถิติต่างๆ เกี่ยวกับกราฟอินพุตไปยัง STDERR ใช้ดีที่สุดใน
รวมกับ "--parse":
กราฟง่าย input.txt --parse --stats
--timeout ตั้งค่าการหมดเวลา in วินาที สำหรับ Graph::Laouter แบบง่ายที่สร้าง ASCII
เอาต์พุต HTML, SVG หรือบ็อกซ์อาร์ต ถ้าเลย์เอาต์ไม่เสร็จในเวลานี้จะ
จะถูกยกเลิก ตัวอย่าง:
กราฟง่าย input.txt --timeout=500
การแปลงเป็น DOT, VCG/GDL, GraphML หรือข้อความธรรมดาจะละเว้นการหมดเวลา
ค่าเริ่มต้นคือ 240 วินาที (4 นาที)
--verbose เขียนข้อมูลเกี่ยวกับกระบวนการแปลงเป็น STDERR
DESCRIPTION
"กราฟง่าย" อ่านคำอธิบายของกราฟ (เครือข่ายที่เชื่อมต่อของโหนดและขอบ ไม่ใช่ a
แผนภูมิวงกลม :-) แล้วแปลงเป็นรูปแบบผลลัพธ์ที่ต้องการ
ตามค่าเริ่มต้น อินพุตจะถูกอ่านจาก STDIN และเอาต์พุตจะไปที่ STDOUT อินพุต
คาดว่าจะเข้ารหัสเป็น UTF-8 เอาต์พุตจะเป็น UTF-8 ด้วย
มันเข้าใจรูปแบบต่อไปนี้เป็นอินพุต:
กราฟ::ง่าย http://bloodgate.com/perl/graph/manual/
DOT http://www.graphviz.org/
VCG http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html
GDL http://www.aisee.com/
รูปแบบจะถูกตรวจจับโดยอัตโนมัติโดยไม่คำนึงถึงชื่อไฟล์อินพุต แต่คุณสามารถ
และประกาศข้อมูลที่คุณป้อนให้อยู่ในรูปแบบเฉพาะอย่างชัดแจ้ง
ผลลัพธ์สามารถดัมพ์ของกราฟในรูปแบบใดรูปแบบหนึ่งต่อไปนี้:
กราฟ::ง่าย http://bloodgate.com/perl/graph/manual/
DOT http://www.graphviz.org/
VCG http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html
GDL http://www.aisee.com/
GraphML http://graphml.graphdrawing.org/
นอกจากนี้ "Graph::Easy" ยังสร้างเลย์เอาต์ของกราฟได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
รูปแบบเอาต์พุต:
HTML SVG ASCII บ็อกซ์อาร์ต
โปรดทราบว่าสำหรับเอาต์พุต SVG คุณต้องติดตั้งโมดูล Graph::Easy::As_svg ก่อน
เป็นทางลัด คุณยังสามารถระบุรูปแบบผลลัพธ์เป็น 'png' ซึ่งจะทำให้
"กราฟง่าย" เพื่อไปป์อินพุตในรูปแบบ graphviz ไปยังโปรแกรม "จุด" เพื่อสร้าง PNG
ไฟล์ในขั้นตอนเดียว สองตัวอย่างต่อไปนี้เทียบเท่า:
กราฟง่าย graph.txt --dot | dot -Tpng -o graph.png
กราฟง่าย graph.txt --png
อื่น ๆ อาร์กิวเมนต์
"กราฟง่าย" รองรับอาร์กิวเมนต์เพิ่มเติมอีกสองสามข้อนอกเหนือจากข้อโต้แย้งจากด้านบน:
--version เขียนข้อมูลเวอร์ชันและออก
--debug=N ตั้งค่าระดับการดีบัก (..1) คำเตือน นี้จะสร้างจำนวนมากของยากต่อ
เข้าใจผลลัพธ์ของ STDERR ตัวอย่าง:
กราฟง่าย input.txt --output=test.html --debug=1
--png, --dot, --vcg, --gdl, --txt, --ascii, --boxart, --html, --svg
กำหนดหนึ่งในตัวเลือกเหล่านี้ สร้างรูปแบบผลลัพธ์ที่ต้องการ
ตัวอย่าง
ASCII เอาท์พุต
echo "[ บอนน์ ] -- รถยนต์ --> [ เบอร์ลิน ], [ Ulm ]" | กราฟง่าย
+-------+ รถ +----+
| บอนน์ | -----> | Ulm |
+-------+ +-----+
|
| รถยนต์
v
+-------+
| เบอร์ลิน |
+-------+
Graphviz ตัวอย่าง เอาท์พุต
echo "[ บอนน์ ] -- รถยนต์ --> [ เบอร์ลิน ], [ Ulm ]" | กราฟง่าย --dot
ไดกราฟ GRAPH_0 {
ขอบ [ หัวลูกศร = เปิด ];
กราฟ [ rankdir=LR ];
โหนด [
ขนาดตัวอักษร=11,
สีเติม=สีขาว,
สไตล์=เต็ม,
รูปร่าง=กล่อง ];
บอนน์ -> Ulm [ label=car ]
บอนน์ -> เบอร์ลิน [ label=car ]
}
VCG ตัวอย่าง เอาท์พุต
echo "[ บอนน์ ] -- รถยนต์ --> [ เบอร์ลิน ], [ Ulm ]" | กราฟง่าย --vcg
กราฟ: {
ชื่อ: "กราฟไม่มีชื่อ"
โหนด: { ชื่อ: "เบอร์ลิน" }
โหนด: { ชื่อเรื่อง: "บอนน์" }
โหนด: { ชื่อเรื่อง: "Ulm" }
edge: { ป้ายกำกับ: "car" ชื่อแหล่งที่มา: "Bonn" ชื่อเป้าหมาย: "Ulm" }
edge: { label: "car" sourcename: "Bonn" targetname: "Berlin" }
}
GDL ตัวอย่าง เอาท์พุต
GDL (ภาษาคำอธิบายกราฟ) เป็นชุดของ VCG ดังนั้นผลลัพธ์จะออกมา
เกือบจะเหมือนกับ VCG:
echo "[ บอนน์ ] -- รถยนต์ --> [ เบอร์ลิน ], [ Ulm ]" | กราฟง่าย --gdl
กราฟ: {
ชื่อ: "กราฟไม่มีชื่อ"
โหนด: { ชื่อ: "เบอร์ลิน" }
โหนด: { ชื่อเรื่อง: "บอนน์" }
โหนด: { ชื่อเรื่อง: "Ulm" }
edge: { label: "car" source: "Bonn" เป้าหมาย: "Ulm" }
ขอบ: { ป้ายกำกับ: "รถยนต์" แหล่งที่มา: "บอนน์" เป้าหมาย: "เบอร์ลิน" }
}
GraphML ตัวอย่าง เอาท์พุต
GraphML คือ XML:
echo "[ บอนน์ ] -- รถยนต์ --> [ เบอร์ลิน ], [ Ulm ]" | กราฟง่าย --graphml
<กราฟมล xmlns="http://graphml.graphdrawing.org/xmlns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
รถยนต์
รถยนต์
คำเตือน
โปรดทราบว่าเป็นไปไม่ได้ที่จะแปลง 100% จากรูปแบบหนึ่งไปเป็นรูปแบบอื่นตั้งแต่
ภาษากราฟทุกภาษามีคุณสมบัติที่เป็นเอกลักษณ์เฉพาะสำหรับภาษานี้เท่านั้น
นอกจากนี้ ขั้นตอนการแปลงจะแปลงอินพุตก่อนเป็น Graph::Easy . เสมอ
กราฟแล้วไปยังรูปแบบผลลัพธ์ที่ต้องการ
ซึ่งหมายความว่าเฉพาะคุณลักษณะและแอตทริบิวต์ที่ถูกต้องใน Graph::Easy are
ยังได้รับการสนับสนุน ทำงานทำ Graph::Easy รูปแบบสากลที่รองรับได้มากเท่า
เป็นไปได้ยังอยู่ในระหว่างดำเนินการ
แอตทริบิวต์ที่ Graph::Easy ยังไม่รองรับโดยกำเนิดจะถูกแปลงเป็นแบบกำหนดเอง
คุณลักษณะที่มีคำนำหน้า "x-format-", fi "x-dot-" เมื่อส่งออกไปยังรูปแบบเดียวกัน
สิ่งเหล่านี้จะถูกแปลงกลับ แต่การแปลงเป็นรูปแบบอื่นจะสูญเสียแอตทริบิวต์เหล่านี้
สำหรับรายการปัญหาที่ยังหลงเหลืออยู่ โปรดดูไฟล์ TODO ใน "Graph::Easy"
การกระจายบน CPAN:
<http://search.cpan.org/~tels/Graph-Easy/>
หากคุณสังเกตเห็นสิ่งผิดปกติหรือขาดคุณสมบัติ โปรดยื่นรายงานข้อบกพร่องบน
<http://rt.cpan.org/NoAuth/ReportBug.html?คิว=กราฟ-ง่าย>
เพื่อให้เราสามารถแก้ไขและรวมสิ่งที่ขาดหายไปลงใน Graph::Easy!
ใช้ graph-easyp ออนไลน์โดยใช้บริการ onworks.net
