Tôi đang sử dụng Graphviz để vẽ một số biểu đồ. Tôi đang sử dụng nhãn trên các nút và tôi có thể đặt trong "\n"
để buộc nó chia nhãn trên 2 dòng. Có cách nào để có được Graphviz (hoặc dot
mà tôi đang sử dụng) để tự động thấy rằng nó nên phân chia một số nhãn nút, và cho chính nó để làm cho sự lựa chọn tốt nhất automagically?Nhãn nhiều dòng tự động trong Graphviz?
Trả lời
Tôi cũng đã tìm kiếm điều này, nhưng tôi không nghĩ rằng có thể trong phiên bản hiện tại. "Giải pháp" hiện tại là viết mã tự động thêm "\ n" mỗi vài ký tự, dựa trên khoảng cách tối thiểu giữa các nút (thuộc tính nodesep
, nếu tôi không nhầm).
Có, nhãn giống như HTML (< ...>) hỗ trợ
thẻ, sử dụng để bạn có thể ngắt dòng. Ví dụ.
"A" -> "B"
[label = <1. <br/>
2. <br/>
3. <br/>
4. <br/>
.... <br/>
> color="blue" style="dashed"];
-1 Điều này không trả lời được câu hỏi. Ngoài ra còn tệ hơn phương pháp hiện tại đang được sử dụng (hai ký tự tốt hơn năm ký tự). –
Nó không trả lời câu hỏi, nhưng cung cấp giải pháp giải pháp tuyệt vời, vì vậy tôi cung cấp +1 cho giải pháp này – Pascal
Bạn cũng có thể sử dụng các nhãn HTML-like (trích dẫn với '<...>' thay vì ' "..."') mà sẽ không tự động quấn, nhưng cung cấp cho kiểm soát tốt hơn cách bố trí hơn \ n. Có lẽ kết hợp với việc ước tính độ dài của chuỗi được hiển thị trong thư viện đồ họa của hệ thống của bạn có thể tìm ra một dự đoán tốt về vị trí đặt dấu ngắt? –