Dotty zeigt alle Beschriftungen als Punkte (Punkt) anstelle von Text an

2889
Oak

Ich habe das folgende Diagramm:

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

Die Ausgabe dieses Graphen sollte sein

correct graph

Und das bekomme ich in der Tat, wenn ich versuche, mit dot eine Datei zu generieren (zB durch dot -Tsvg test.dot > test.svg).

Wenn ich versuche, dotty für die Anzeige zu verwenden, werden jedoch alle Beschriftungen als Punkte angezeigt:

incorrect graph

Wodurch wird dieses Problem verursacht und wie kann ich es lösen? Ich habe dotty in der Vergangenheit häufig bei ähnlichen Diagrammen verwendet, sowohl unter Windows als auch unter Linux, und habe dieses Verhalten nie gesehen.

Ubuntu 10.04.3 LTS, Graphviz Version 2.20.2 (dotty Version 96c).

6
Sind die richtigen Schriftarten installiert? Sardathrion vor 12 Jahren 1
@Sard Ich weiß nicht, wie kann ich das überprüfen? Oak vor 12 Jahren 0
Schauen Sie sich $ HOME / .xsession-errors und / oder /var/log/Xorg.0.log an, um zu sehen, ob dort Fehler sind. Starten Sie dotty in einer Konsole (damit Sie alle an stderr gesendeten Nachrichten sehen können). Überprüfen Sie, welche Schriftarten Sie installiert haben, und erzwingen Sie eine Schriftart in der Punktdatei, um festzustellen, ob sie einen Unterschied macht. Sardathrion vor 12 Jahren 0
klingt für mich wie eine fehlende Schrift. RobotHumans vor 12 Jahren 1

4 Antworten auf die Frage

4
dyomas

My solution is too simple. I examined /var/log/Xorg.0.log and found the following:

[ 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. 

So, I installed the indicated packages:

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

I rebotted and Dotty graphs became beautiful, but the default font name remains unknown for me.

Laut [diesem Fehlerbericht] (https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1016777) sollte die Installation von "xfonts-100dpi" ausreichen, um das Problem zu vermeiden. anol vor 7 Jahren 0
2
anol

Ich habe das gleiche Problem und habe noch keine Lösung gefunden, aber ich habe eine Liste von Problemumgehungen zusammengestellt (einige von https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1016777 ):

  1. Geben Sie einen Namen fontname="fixed"für die Schriftart an (Attribut für mich bearbeitet). Beachten Sie, dass Sie globale Attribute am Anfang der Datei verwenden können, um zu vermeiden, dass Sie sie für jedes Label angeben müssen:
 digraph cfg { graph [fontname="fixed"]; node [fontname="fixed"]; edge [fontname="fixed"]; ... } 
  1. Verwenden Sie dot(anstatt dotty) und geben Sie das Diagramm in eine Bilddatei aus (z. B. dot -Tpng file.dot -o file.png). Verwenden Sie dann einen Bildbetrachter. Um zu vermeiden, temporäre Dateien erstellen, verwenden Sie einen Viewer, die aus unterstützt das Lesen stdin, wie gwenview( zum Beispiel dot -Tpng file.dot | gwenview /dev/stdin).

  2. Verwenden Sie xdotstatt dotty.

Diese Problemumgehungen lösen zwar nicht das eigentliche Problem, aber wenn Sie nur einige Diagramme schnell anzeigen möchten, sind sie möglicherweise schneller als das Beheben des Problems (das nach wie vor in Linux Mint 17 (basierend auf Ubuntu 14.04) besteht).

0
polynomial

Wie bereits erwähnt, funktioniert Ihre Schriftartkonfiguration nicht. Weitere Informationen zur Konfiguration finden Sie hier:

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

Ich habe versucht, bestimmte Schriftarten zu erzwingen, und ich habe versucht, die von graphviz verwendeten Schriftarten manuell zu installieren - keine half. Ich denke auch, dass die Tatsache, dass 'dot' funktioniert, nur 'dotty' nicht, weist darauf hin, dass dies kein Schriftproblem ist Oak vor 12 Jahren 0
0
Oak

Ich habe ein internes Dokument in einem Unternehmen gefunden, für das ich kurz gearbeitet habe. Dotty ist unter Ubuntu 10.04 fehlerhaft und fordert Benutzer dazu auf, ihr Betriebssystem zu aktualisieren, um das Problem zu lösen. Der Grund, warum dies geschieht, ist für mich immer noch ein Rätsel, und "Aktualisieren Sie Ihr Betriebssystem" ist eine ziemlich schlechte Lösung, aber immer noch - es sollte das Problem lösen, also hier als Antwort posten.

Da der Fehler in Ubuntu 16.04 noch vorhanden ist, ist dieser Hinweis nicht mehr richtig und auch nicht hilfreich, da er das Problem nicht löst. Es ist möglicherweise besser, eine andere Antwort als akzeptiert zu wählen. anol vor 7 Jahren 0
@anol fair genug, aber um ehrlich zu sein, haben mir die anderen lösungen damals auch nicht geholfen. Oak vor 7 Jahren 0
Oh, ich verstehe, ich hatte nicht alle Termine beachtet. Ich glaube jedoch, dass die Antwort von Dyomas immer noch aktuell und die beste ist. anol vor 7 Jahren 0