如何使用矩阵库来定位图的顶点?
手册中说,如果我在使用图形库时需要高级对齐顶点,就使用矩阵库,但没有说明如何操作。
这是我想要绘制的图表:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
\begin{document}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\graph[nodes={empty nodes,draw,circle}]
{
v1 -> {v2, v3, v4};
v2 -> {v5, v6};
v3 -> {v1, v7},
};
\end{tikzpicture}
\end{figure}
\end{document}
我想将图库与矩阵库一起使用。
答案1
我修改了你的代码,以便包含库chains
和matrix
,并包含第二个figure
包含相同节点的图表的代码,但它们是:
- 以矩阵形式定位。
- 拔出箭。
您可以修改矩阵定义中的行和列之间的距离。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs}
% two new libraries
\usetikzlibrary{chains, matrix}
\begin{document}
% the original figure, untouched
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\graph[nodes={empty nodes,draw,circle}]
{
v1 -> {v2, v3, v4};
v2 -> {v5, v6};
v3 -> {v1, v7},
};
\end{tikzpicture}
\end{figure}
% the new figure, with a matrix and then the arrows
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\matrix (ps) [matrix of nodes, column sep=8mm, row sep=6mm,nodes={draw,circle}] {
\node (v1) {}; & \node (v2) {}; \\
& \node (v3) {}; \\
& \node (v4) {}; \\
\node (v5) {}; & \\
\node (v6) {}; & \\
\node (v7) {}; & \\
};
\graph [use existing nodes] {
v1 -> {v2, v3, v4};
v2 -> {v5, v6};
v3 -> {v1, v7};
};
\end{tikzpicture}
\end{figure}
\end{document}
文档(版本 3.0.1a)的主要页面是:
- 矩阵:第 70 页。
- 带箭头的图表:第 71-73 页。