通过数学描述绘制图形(不是图形)的包

通过数学描述绘制图形(不是图形)的包

是否有任何乳胶包可以通过其描述关系绘制图形。假设:

\draw_graph_complete{5}{1}

或者

\draw_graph{u,v,x,y,z}{{u,v}{v,x}{x,z}{y,z}}

我不想处理位置坐标或类似的东西。

到目前为止,我已经找到了和tikz这样的图书馆。graphsgraphs.standard

例如这个 MWE。

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{graphs, graphs.standard}
\begin{document}
\begin{tikzpicture}
  \graph[nodes={circle, draw}, grow right=2cm, branch down=2cm]{
      b,
      a -- {b,c},
      c -- {b},
      e -- {a,d},
      d -- {c}
  };
\end{tikzpicture}
\end{document}

给出了一个漂亮的图表,但节点缺乏对称性b。我可以接受这一点,但正在寻找替代方案。

答案1

我认为问题更多的是如何知道要采用哪种算法。我没有一个通用的答案,但在这种情况下,你可能想要这样做

\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing, graphs.standard}
\usegdlibrary{force}
\begin{document}
\begin{tikzpicture}
  \graph[spring layout,
nodes={circle, draw}, ]{
      b,
      a -- {b,c},
      c -- {b},
      e -- {a,d},
      d --[orient=90] {c}
  };
\end{tikzpicture}
\end{document}

在此处输入图片描述

这使得放置b更加对称。

相关内容