4

シンプルな .dot ファイル (graphviz) があります。以下を参照してください。

digraph Mapper{
  Mapper [label=Mapper];

  General [label=General];
  GeneralNew [label=New];
  GeneralOpen [label=Open];
  GeneralSave [label=Save];
  GeneralClose [label=Close];
  GeneralSettings [label=Settings];
  GeneralHelp [label=Help];
  GeneralAbout [label=About];
  GeneralNewLoad [label="Load symbol set"];
  GeneralNewLoadFile [label="Load symbol set from file"];
  GeneralNewNoLoad [label="Don't load symbols"];
  GeneralOpenFiles [label="OCD|OMAP", shape=record];
  GeneralOpenRecent [label="Open recent"];
  GeneralSaveFiles [label="OMAP|MapperXML", shape=record];
  GeneralHelpStartup [label="Startup tips"];
  GeneralHelpHTML [label="HTML Help"];
  GeneralHelpWhatsThis [label="What's this?"];
  General -> GeneralNew;
  General -> GeneralOpen;
  General -> GeneralSave;
  General -> GeneralClose;
  General -> GeneralSettings;
  General -> GeneralHelp;
  General -> GeneralAbout;
  GeneralNew -> GeneralNewLoad;
  GeneralNew -> GeneralNewLoadFile;
  GeneralNew -> GeneralNewNoLoad;
  GeneralOpen -> GeneralOpenFiles;
  GeneralOpen -> GeneralOpenRecent;
  GeneralSave -> GeneralSaveFiles;
  GeneralHelp -> GeneralHelpStartup;
  GeneralHelp -> GeneralHelpHTML;
  GeneralHelp -> GeneralHelpWhatsThis;
  Mapper -> General;

  Map [label=Map];
  MapImport [label=Import];
  MapPrint [label=Print];
  MapEditor [label=Editor];
  MapChangeCoordinate [label="Change coordinate system"];
  MapChangeScale [label="Change scale"];
  MapAddNotes [label="Add notes"];
  MapImportFiles [label="DXF|GPX", shape=record];
  MapEditorUndo [label=Undo];
  MapEditorRedo [label=Redo];
  MapEditorTools [label=Tools];
  MapEditorSelectObjectsWithSymbol [label="Select all objects with symbol..."];
  MapEditorTools [label=Tools];
  MapEditorToolsEdit [label="Edit|Duplicate|Switch symbol|Switch direction|Connect|Rotate", shape=record, style=rounded];
  MapEditorToolsBasic [label="Point|Straight Line|Bezier|Circle|Rectangle|<text> Text", shape=record, style=rounded];
  MapEditorToolsAdvanced [label="Fill|Create border|Cut object|Measure", shape=record, style=rounded];
  MapEditorToolsArea [label="Area difference|Area XOr|Unify areas|Intersect areas", shape=record, style=rounded];
  MapEditorToolsCutArea [label="Cut hole"];
  MapEditorToolsCutAreas [label="Circle|Rectangle|Free", shape=record, style=rounded];
  MapEditorToolsTextAlignment [label="Text alignment"];
  Map -> MapImport;
  Map -> MapPrint;
  Map -> MapEditor;
  Map -> MapChangeCoordinate;
  Map -> MapChangeScale;
  Map -> MapAddNotes;
  MapImport -> MapImportFiles;
  MapEditor -> MapEditorUndo;
  MapEditor -> MapEditorRedo;
  MapEditor -> MapEditorTools;
  MapEditor -> MapEditorSelectObjectsWithSymbol;
  MapEditorTools -> MapEditorToolsEdit;
  MapEditorTools -> MapEditorToolsBasic;
  MapEditorTools -> MapEditorToolsAdvanced;
  MapEditorTools -> MapEditorToolsArea;
  MapEditorTools -> MapEditorToolsCutArea;
  MapEditorToolsBasic:text -> MapEditorToolsTextAlignment;
  MapEditorToolsCutArea -> MapEditorToolsCutAreas;
  Mapper -> Map;

  View [label=View];
  ViewZoom [label="Zoom"];
  ViewCoordinate [label="Coordinate display"];
  ViewFullscreen [label="Fullscreen"];
  ViewZoomIn [label="Zoom in"];
  ViewZoomOut [label="Zoom out"];
  ViewZoomWhole [label="Show whole map"];
  ViewZoomCustom [label="Custom zoom factor"];
  ViewCoordinateSystems [label="Map|Local|Degrees|DMS", shape=record];
  View -> ViewZoom;
  View -> ViewCoordinate;
  View -> ViewFullscreen;
  ViewZoom -> ViewZoomIn;
  ViewZoom -> ViewZoomOut;
  ViewZoom -> ViewZoomWhole;
  ViewZoom -> ViewZoomCustom;
  ViewCoordinate -> ViewCoordinateSystems;
  Mapper -> View;

  Symbols [label="Symbols"];
  SymbolsNew [label=New];
  SymbolsEdit [label=Edit];
  SymbolsDuplicate [label=Duplicate];
  SymbolsDelete [label=Delete];
  SymbolsScale [label="Scale"];
  SymbolsHide [label="Hide objects with symbol..."];
  SymbolsProtect [label="Protect objects with symbol..."];
  SymbolsSelectAll [label="Select all symbols"];
  SymbolsInvertSelect [label="Invert symbol selection"];
  SymbolsColors [label="Colors"];
  SymbolsColorsNew [label=New];
  SymbolsColorsDelete [label=Delete];
  SymbolsColorsDuplicate [label=Duplicate];
  SymbolsColorsOrder [label="Change order"];
  Symbols -> SymbolsNew;
  Symbols -> SymbolsEdit;
  Symbols -> SymbolsDuplicate;
  Symbols -> SymbolsDelete;
  Symbols -> SymbolsScale;
  Symbols -> SymbolsHide;
  Symbols -> SymbolsProtect;
  Symbols -> SymbolsSelectAll;
  Symbols -> SymbolsInvertSelect;
  Symbols -> SymbolsColors;
  SymbolsColors -> SymbolsColorsNew;
  SymbolsColors -> SymbolsColorsDelete;
  SymbolsColors -> SymbolsColorsDuplicate;
  SymbolsColors -> SymbolsColorsOrder;
  Mapper -> Symbols;

  Templates [label="Templates"];
  TemplatesOpen [label=Open];
  TemplatesOrder [label="Change order"];
  TemplatesOpenFiles [label="Images|GPX|DXF|OCD|OMAP", shape=record];
  TemplatesPaint [label="Paint on template"];
  TemplatesOpacity [label="Opacity"];
  TemplatesMove [label="Move"];
  TemplatesAdjust [label="Adjust"];
  TemplatesRotation [label="Rotation"];
  Templates -> TemplatesOpen;
  Templates -> TemplatesPaint;
  Templates -> TemplatesOrder;
  Templates -> TemplatesOpacity;
  Templates -> TemplatesMove;
  Templates -> TemplatesAdjust;
  Templates -> TemplatesRotation;
  TemplatesOpen -> TemplatesOpenFiles;
  Mapper -> Templates;
}

次のコマンドを使用してグラフを生成しています。

cat mapper.dot | circo -Tpng >output.png

mapper.dot は上記の内容のファイルです。

問題は、ノード間にかなりのスペースがあることです。そして、私は多くのことを意味します。スペースを減らす方法はありますか?

4

2 に答える 2

-1

あなたのファイルからの出力から判断するとdot、私はcirco行く方法がわかりません。個人的にはsfdp代わりに使用します。

uuocを削除し、次のコマンドでイメージを作成した場合:

sfdp -Tpng -Goverlap=false -o output.png mapper.dot

ノードがオーバーラップしない短いエッジが得られますが、一方で、エッジはノードとオーバーラップします。これを回避するには、次を追加してスプラインを有効にします。

-Gsplines=true

コマンドに。

出力は完璧にはほど遠いですが、私には以前よりも少し魅力的に見えます。

于 2012-06-14T08:39:08.510 に答える