Anpassungen für GraphViz und PlantUML

vorhergehende Artikel in: Markup
11.05.2025

Ich habe hier schon verschiedentlich über die Anwendung des PlantUML- oder GraphViz- Formats geschrieben. Beide sind extrem vielseitig - sowohl für eher traditionelle Darstellungen von Graphen oder Entity-Relationship-Diagrammen als auch für zum Beispiel die Dokumentationen von Public Key Infrastrukturen

Manchmal kann es jedoch vorkommen, dass die Ergebnisse beim Rendering nicht ganz den Anforderungen entsprechen. Das Rendering lässt sich durch das Setzen von Style-Attributen anpassen - das kann traditionell in der entsprechenden Datei selbst geschehen - oder aber als Kommandozeilenparameter direkt beim Rendern.

Hier zunächst ein Beispiel für den Einfluss von Parametern beim Rendern von GraphViz: Zunächst die Defaultparameer, anschließend die mittels Style-Attributen angepasste Version:

Fügt man nun die folgenden Style-Attribute in die Definition des Graphen ein:

splines=ortho
nodesep=.5
ranksep=.2

ändert sich das Aussehen wie folgt:

Für Plantuml gilt dasselbe: Aus der Darstellung mit den Default-Werten für die Style-Attribute wird:

Ändert man das Verhalten durch explizite Spezifikation von Style-Attributen wie folgt:

skinparam linetype ortho
skinparam nodesep 100
skinparam ranksep 20

wird daraus:

Wie bereits angedeutet muss man diese Parameter nicht in der Definition der Graphik selbst setzen - beide Visualisierungssysteme erlauben so etwas auch per Kommandozeilenschalter, nur die konkrete Ausprägung unterscheidet sich ein wenig: Für PlantUML würde ein entsprechender Aufruf zum Beispiel so aussehen:

java -jar plantuml-8059.jar -stdrpt:1 -tsvg -config config.ini model.dot

Die Date config.ini würde dann die Attribute in der bereits bekannten Form beinhalten - also etwa

skinparam linetype ortho
skinparam nodesep 50
skinparam ranksep 20

Für GraphViz dagegen würde das Erstellen einer Graphik mit angepassten Werten für Attrinute zum Beispiel so aussehen:

dot -Tsvg doc.dot -Gsplines=ortho >deps.svg

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Zertifikatsgültigkeit überwachen mit Grafana

    04.10.2021

    Ich habe ausprobiert, die verbleibende Lebenszeit von X.509-Zertifikaten per Telegraf, Influx und Grafana zu überwachen

    Weiterlesen

Neueste Artikel

  • Fallstudie elektronische Signatur

    Ein Influenzer würde einen solchen Artikel beginnen mit "Ich werde immer wieder gefragt, warum..." Da ich keiner bin kann ich so etwas nicht tun – statt dessen erläutere ich einfach das Szenario: Ich pflege diverse Open Source Projekte, die sich mit PKI und kryptographischen Timestamps. Jedoch benutzt die sQLshell elektronische Signaturen nur für die Verteilung der diversen Plugins.

    Weiterlesen
  • Elektronische Signaturen zur Absicherung bei der Migration

    Ich habe bisher einen Aspekt absichtlich und gewissenhaft aus der sQLshell herausgelassen, mich aber jetzt - wo die Zahl der gefundenen Sicherheitslücken in allen möglichen Produkten immer mehr zunimmt - doch einmal damit beschäftigt...

    Weiterlesen
  • Dynamiken im stretch-twist-fold System

    Ich habe wieder einmal ein System nichtlinearer Differentialgleichungen entdeckt, das ich noch nicht kannte und einige Experimente damit durchgeführt...

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.