วิธีเพิ่มป้ายกำกับขอบใน Graphviz


169

ฉันกำลังพยายามวาดกราฟโดยใช้ Graphviz แต่ฉันต้องเพิ่มป้ายกำกับที่ขอบ ดูเหมือนจะไม่มีทางที่จะเป็นไปได้ในกราฟวิซ มีทางออกไหม?

คำตอบ:


234

คุณใช้คุณสมบัติป้ายผนึกที่แนบกับขอบ

digraph G {
 a -> b [ label="a to b" ];
 b -> c [ label="another label"];
}

ด้านบนสร้างกราฟที่มีลักษณะเช่นนี้

ข้อความแสดงแทน


32
ทำไมฉลากถึงขอบสัมผัส ไม่ควรมีช่องว่างหรือ
AndreKR

11
@AndreKR การแก้ไขด่วนคือเพียงแค่ใส่ช่องว่างที่จุดเริ่มต้นของป้ายกำกับ: a -> b [label = "a to b"];
chembrad

6
การแก้ไขอีกวิธีหนึ่งคือการใช้rankdir="LR";ซึ่งสร้างกราฟแนวนอนโดยมีป้ายกำกับอยู่เหนือขอบโดยไม่ต้องสัมผัส
เดฟจาร์วิส

6
มีวิธีที่จะให้ป้ายหมุนในแนวตั้งเพื่อไปเป็นแนวกับเส้นไหม?
Justin L.

5
สำหรับการอ้างอิงในอนาคตเอกสารภาษา DOT คือที่นี่และเอกสารคุณลักษณะเป็นที่นี่
Jens

22

@Andrew Walker ได้รับคำตอบที่ดีมาก!

นอกจากนี้ยังควรคำนึงถึงlabeltooltip คุณลักษณะด้วย สิ่งนี้อนุญาตให้มีสายอักขระเพิ่มเติมแนบกับป้ายชื่อของขอบ ผู้ใช้นี้จะง่ายกว่าแอtooltipททริบิวต์เนื่องจากสามารถเลื่อนเมาส์ไปวางบนขอบได้โดยตรง ไวยากรณ์มีดังนี้:

digraph G {
 a -> b [label="  a to b" labeltooltip="this is a tooltip"];
 b -> c [label="  another label" ];
}

ซึ่งให้ผลลัพธ์ดังต่อไปนี้: ตัวอย่างฉลากที่มีคำแนะนำเครื่องมือ


8

คุณสามารถใช้label="\E"มันจะสร้างป้ายกำกับเริ่มต้นลาก่อน

ตัวอย่างเช่น:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.