我有一个简单的.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是具有上述内容的文件。
问题是节点之间有很多空间。我的意思是很多。有没有办法减少空间?
答案 0 :(得分:1)
我找到了它!
设置&#34;思想家&#34;设置为数字&lt; 1
例如:
graph z {
layout="circo"
mindist=.3
a -- b
a -- c
a -- d
}
我通过查看Circo source code
找到了这个答案 1 :(得分:0)
根据dot
文件的输出判断,我不确定circo
是否可行。我个人会改用sfdp
。
如果我删除uuoc并使用以下命令创建图像:
sfdp -Tpng -Goverlap=false -o output.png mapper.dot
您将获得没有节点重叠的较短边,但另一方面,边将与节点重叠。为了摆脱这种情况,您可以通过添加
来启用样条线-Gsplines=true
命令。
输出远远不够完美,但对我来说它看起来比以前更具吸引力。