要在graphviz circo中的节点之间留出更多空间

要在graphviz circo中的节点之间留出更多空间,graphviz,dot,Graphviz,Dot,我有一个简单的.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];

我有一个简单的.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;
}
其中mapper.dot是包含上述内容的文件


问题是,节点之间有很多空间。我的意思是非常重要的。有什么方法可以减少空间吗?

根据您的
文件的输出判断,我不确定是否应该使用
circo
。就我个人而言,我会使用
sfdp

如果我删除您的并使用以下命令创建图像:

sfdp -Tpng -Goverlap=false -o output.png mapper.dot
您将获得没有节点重叠的较短边,但另一方面,边将与节点重叠。要避免这种情况,可以通过添加

-Gsplines=true
服从命令

输出远不是完美的,但对我来说,它看起来比以前更有吸引力。

我发现了它

将“Mindsist”设置为小于1的数字

例如:

graph z {

  layout="circo"
  mindist=.3

  a -- b
  a -- c
  a -- d

}

我通过查看

找到了这个,非常感谢!那好多了!但是在某些地方()一个节点去了一个错误的地方。是否有某种方法可以“捆绑”同一“分支”上的节点?很高兴能提供帮助!我不了解您在运行上述命令时描述的行为。我一时想不出解决办法。我很高兴原来的用户喜欢这个答案,但我正在寻找原来问题的答案。bump也想知道如何缩短circo中的边缘
graph z {

  layout="circo"
  mindist=.3

  a -- b
  a -- c
  a -- d

}