我需要创造一个人 关于乳胶的图表。 我得到了6k +顶点。
我找到了手册,但是用于法语。 我找到了下面的脚本,但有一些我不明白的东西。
有一种简单的方法可以让我声明Vertex / Edge而无需写入顶点的位置吗?
在这个脚本中,这一行意味着什么?
\Vertex{P}
\NOEA(P){B} \SOEA(P){M} \NOEA(B){D}
\SOEA(B){C} \SOEA(C){L}
完整脚本
\documentclass[11pt]{scrartcl}
\usepackage{tkz-graph}
\begin{document}
\begin{tikzpicture}
\SetUpEdge[lw = 1.5pt,
color = orange,
labelcolor = white]
\GraphInit[vstyle=Normal]
\SetGraphUnit{3}
\tikzset{VertexStyle/.append style={fill}}
\Vertex{P}
\NOEA(P){B} \SOEA(P){M} \NOEA(B){D}
\SOEA(B){C} \SOEA(C){L}
\tikzset{EdgeStyle/.style={->}}
\Edge[label=$3$](C)(B)
\Edge[label=$10$](D)(B)
\Edge[label=$10$](L)(M)
\Edge[label=$10$](B)(P)
\tikzset{EdgeStyle/.style={<->}}
\Edge[label=$4$](P)(M)
\Edge[label=$9$](C)(M)
\Edge[label=$4$](C)(L)
\Edge[label=$5$](C)(D)
\Edge[label=$10$](B)(M)
\tikzset{EdgeStyle/.style={<->,relative=false,in=0,out=60}}
\Edge[label=$11$](L)(D)
\end{tikzpicture}
\end{document}
答案 0 :(得分:0)
如果有大量的顶点,我建议您使用Graphviz Dot而不是Latex软件包,而不是使用上面描述的Latex软件包。另请注意,有一个乳胶包(dot2tex
)将您的Graphviz Dot代码包含在乳胶中;包裹在PGF/TikZ环境中以创建一个整洁的矢量图形图像(但是对于一个巨大的图形,我鼓励您使用graphviz在外部渲染它,只需在您的.tex文档中包含图像)。
Graphviz Dot的语法非常简单,可以用编程方式编写(因为我假设你不会手动编写6k顶点...)。
例如,使用Graphviz Dot以编程方式生成以下分支和价格树。
digraph BST {
node [color = "black", shape = "point"];
edge [arrowsize = "0.1"];
1->2;
2 [color = "blue"];
1->3;
3 [color = "blue"];
1 [color = "black"];
3->4;
4 [color = "blue"];
3->5;
...
}
有关详细信息,请参阅Graphviz DOT documentation,有关最短路径问题的小实例的自动生成图示例,请参阅