Dotty hiển thị tất cả các nhãn dưới dạng dấu chấm (dấu chấm) thay vì văn bản


6

Tôi có biểu đồ graphviz sau:

digraph finite_state_machine {
    a -> b [ label = "c" ];
}

Đầu ra của biểu đồ này phải là

correct graph

Và đây thực sự là những gì tôi nhận được nếu tôi cố gắng sử dụng dấu chấm để tạo tệp (ví dụ: dot -Tsvg test.dot > test.svg ).

Tuy nhiên, khi tôi cố gắng sử dụng dotty để hiển thị nó, tất cả các nhãn xuất hiện dưới dạng dấu chấm:

incorrect graph

Điều gì gây ra vấn đề này, và làm thế nào tôi có thể giải quyết điều này? Tôi đã sử dụng dotty rất nhiều trong quá khứ trên các biểu đồ tương tự, cả trên Windows và Linux, và chưa bao giờ thấy hành vi này.

Ubuntu 10.04.3 LTS, Graphviz phiên bản 2.20.2 (phiên bản chấm 96c).


1
Các phông chữ phải được cài đặt?
Sardathrion

@ Tôi không biết, làm cách nào để kiểm tra?
Oak

Hãy xem $ HOME / .xsession-lỗi và / hoặc /var/log/Xorg.0.log để xem có lỗi ở đó không. Bắt đầu dotty trong một giao diện điều khiển (vì vậy bạn có thể thấy bất kỳ tin nhắn nào gửi đến stderr). Nhìn vào những phông chữ bạn đã cài đặt và buộc một phông chữ trong tệp chấm để xem nó có khác biệt gì không.
Sardathrion

1
Nghe có vẻ như một phông chữ bị thiếu đối với tôi.
RobotHumans

Câu trả lời:


4

Giải pháp của tôi quá đơn giản. Tôi đã kiểm tra /var/log/Xorg.0.log và tìm thấy như sau:

[    52.308] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    52.308]    Entry deleted from font path.
[    52.308] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    52.308]    Entry deleted from font path.
...
[    52.314] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    52.314]    Entry deleted from font path.
[    52.314] (WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist.
[    52.314]    Entry deleted from font path.

Vì vậy, tôi đã cài đặt các gói được chỉ định:

xfonts-100dpi
xfonts-cyrillic
...
defoma
psfontmgr
x-ttcidfont-conf

Tôi đã bật lại và đồ thị Dotty trở nên đẹp, nhưng tên phông chữ mặc định vẫn là ẩn số đối với tôi.


Theo báo cáo lỗi này , cài đặt xfonts-100dpi nên đủ để tránh vấn đề
anol

2

Tôi có cùng một vấn đề và chưa tìm ra giải pháp, nhưng tôi đã biên soạn một danh sách các cách giải quyết (một số lấy từ https://bugs.launchpad.net/ubfox/+source/graphviz/+orms/1016777 ):

  1. Chỉ định tên phông chữ (thuộc tính fontname="fixed" đã làm cho tôi). Lưu ý rằng bạn có thể sử dụng các thuộc tính toàn cục vào đầu tệp để tránh phải chỉ định nó cho mọi nhãn:
  digraph cfg {
    graph [fontname="fixed"];
    node [fontname="fixed"];
    edge [fontname="fixed"];
    ...
  }
  1. Sử dụng dot (thay vì dấu chấm) và xuất biểu đồ thành tệp hình ảnh (ví dụ: dot -Tpng file.dot -o file.png ), sau đó sử dụng trình xem ảnh. Để tránh tạo tệp tạm thời, hãy sử dụng trình xem hỗ trợ đọc từ stdin, nhu la gwenview (ví dụ. dot -Tpng file.dot | gwenview /dev/stdin ).

  2. Sử dụng xdot thay vì chấm

Mặc dù các cách giải quyết này không giải quyết được vấn đề thực tế, nhưng nếu tất cả những gì bạn cần là nhanh chóng xem một số biểu đồ, chúng có thể nhanh hơn việc cố gắng khắc phục sự cố (vẫn còn tồn tại trong Linux Mint 17, dựa trên Ubuntu 14.04).


0

Như những người khác đã đề cập cấu hình phông chữ của bạn không hoạt động. Bạn có thể đọc thêm về cách cấu hình đó tại đây:

http://www.graphviz.org/doc/info/attrs.html#d:fontname


Tôi đã thử buộc các phông chữ cụ thể và tôi đã thử cài đặt thủ công các phông chữ được sử dụng bởi graphviz - không giúp được gì. Tôi cũng nghĩ rằng thực tế dot không hoạt động, chỉ dotty không, gợi ý rằng đây không phải là vấn đề về phông chữ
Oak

0

Tôi đã tìm thấy một số tài liệu nội bộ trong một công ty mà tôi đã làm việc một thời gian ngắn cho vấn đề được đề cập đó là lỗi trên Ubuntu 10.04 và kêu gọi người dùng nâng cấp HĐH của họ như một cách để giải quyết điều đó. Lý do điều này xảy ra vẫn còn là một bí ẩn đối với tôi và "nâng cấp hệ điều hành của bạn" là một giải pháp khá kém, nhưng vẫn vậy - nó sẽ giải quyết vấn đề, vì vậy hãy đăng nó ở đây như một câu trả lời.


Được xem là lỗi mà nó vẫn xuất hiện trong Ubuntu 16.04, lời khuyên này không còn chính xác cũng không hữu ích, vì nó không giải quyết được vấn đề. Có thể tốt hơn để chọn một câu trả lời khác như được chấp nhận.
anol

1
@anol đủ công bằng, nhưng thành thật mà nói, các giải pháp khác cũng không giúp tôi lúc đó.
Oak

Ồ tôi hiểu rồi, tôi đã không chú ý nhiều đến tất cả các ngày. Tuy nhiên, tôi tin rằng câu trả lời của dyomas vẫn được cập nhật và là câu trả lời hay nhất cho đến nay.
anol
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.