จะเปลี่ยนขนาดขอบใน dot (graphviz) ได้อย่างไร? ฉันต้องการทำให้ขอบบางส่วนเป็น "ตัวหนา"
จะเปลี่ยนขนาดขอบใน dot (graphviz) ได้อย่างไร? ฉันต้องการทำให้ขอบบางส่วนเป็น "ตัวหนา"
คำตอบ:
ฉันต้องการเสริมคำตอบของ shuvalov penwidthเป็นคำสั่งที่ถูกต้อง นอกจากนี้ใน penwidth คำตอบของshuvalovนั้นมีทั้งโหนดและคุณสมบัติ edge ด้วยเช่นกัน
ความแตกต่างที่ฉันต้องการสร้าง:
penwidthเมื่อใช้เป็นคุณสมบัติของโหนด (เช่น "NodeA" [penwidth = 5]) มีผลต่อน้ำหนักเส้นขอบสำหรับโหนดนั้น
penwidthเมื่อใช้เป็นสถานที่ให้บริการขอบมีผลต่อน้ำหนักของเส้นขอบ (ค่าเริ่มต้นคือ "1" ระบุ penwidth = 2 จะทำให้ขอบปรากฏในตัวหนาชนิด
หากคุณต้องการเปลี่ยนน้ำหนักเส้นของขอบคุณไม่จำเป็นต้องเปลี่ยนความ กว้างของเส้นสำหรับสองโหนดที่เชื่อมต่อด้วยขอบนั้น (ตามที่คำตอบของ shuvalev อาจแนะนำ)
สำหรับกราฟที่กำหนดทิศทาง (ขอบมีทิศทาง) คุณอาจต้องการเปลี่ยนขนาด / น้ำหนักของหัวลูกศรและ หางลูกศรพร้อมกับน้ำหนักขอบเพื่อให้ทั้งสามยังคงเป็นสัดส่วน
ความยาวของขอบสามารถเปลี่ยนแปลงได้โดยการตั้งค่าน้ำหนักคุณสมบัติเป็นที่อื่น ๆ , ค่าเริ่มต้นคือ 1.0; การเพิ่มมูลค่าดังกล่าวจะเพิ่มต้นทุนในการยืดขอบนี้ในระหว่างการแสดงผล (กล่าวคืออัลกอริทึมการวาดจะใช้บทลงโทษที่สูงขึ้นกับโซลูชันที่ขอบนี้ยาวขึ้น) สังเกตว่าขอบ 1 ถึง 4 สั้นกว่าขอบ 1 ถึง 2
รหัสต่อไปนี้ควรแสดงข้อมูลทั้งหมดนี้ กราฟที่แสดงผลจะแสดงด้านล่างโค้ด
digraph {
/* declare the node & style them */
"Node 1" [shape=diamond, penwidth=3, style=filled, fillcolor="#FCD975"];
"Node 2" [style=filled,fillcolor="#9ACEEB" ];
"Node 3" [shape=diamond, style=filled, fillcolor="#FCD975" ];
"Node 4" [style=filled, fillcolor="#9ACEEB" ]
/* declare the edges & style them */
"Node 1" -> "Node 2" [dir=none, weight=1, penwidth=3] ;
"Node 1" -> "Node 3" [dir=none, color="#9ACEEB"] ;
"Node 1" -> "Node 4" [arrowsize=.5, weight=2.]
}
ลองสิ่งนี้:
"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
weight
คุณสมบัติไม่ได้เปลี่ยนแปลงอะไรสำหรับฉัน ส่วนที่เหลือมีประโยชน์มาก แต่ ... ขอบคุณ!