🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 导入tikz `\usepackage{tikz}` ## tikz环境 ``` \begin{tikzpicture} ... \end{tikzpicture} ``` 一般放置于figure环境中。 ### **基础命令** **!tikz环境中使用的每条命令都要加分号。** #### **绘制node** ``` \node[选项] (变量名) at (x,y) {显示文字}; ``` `at (x,y)`给出node的坐标,这个参数可以省略,通过其他方式来指定位置或者采用系统的默认规则确定位置。可以通过`(变量名)`在tikz环境中对该node对象进行索引。`[选项]`可以对node的大小、形状、颜色、位置等信息进行设置,不同的选项之间用逗号隔开。`[circle]`表示node的形状为圆形,`[fill=yellow!50]`表示node的填充色(背景色)为黄色,透明度为50%,二者的组合`[circle,fill=yellow!50]`绘制出的node效果如下 ![](https://box.kancloud.cn/2061d950bd0a4c43ce8dbccfe315732e_164x159.png) #### **绘制edge** 如果已经有了两个node `(A)`和`(B)`,可以利用`draw`命令连接两个node,代码为 ``` \draw (A)--(B); ``` 结果显示如下 ![](https://box.kancloud.cn/97fe29127e822ffb64c6ebb100ddd647_420x198.png) 同node相同,可以利用draw选项来对线条进行设置,下面的代码为连接线加上从A到B的箭头 ``` \draw[->] (A)--(B); ``` ![](https://box.kancloud.cn/eb27339d5457e2938412b5d203bfbc82_408x175.png) 与之对应的,从B到A的箭头由选项`[<-]`表示。 对于更为复杂的edge常用`\path`和`edge`命令绘制,下面的代码绘制了不带箭头的edge ``` \path (A) edge (B); ``` ![](https://box.kancloud.cn/6df7448cc605f42c393d9b73dd1cda54_442x217.png) 可以通过与`\draw`命令相同的参数来设置箭头。利用`edge`命令还可以为边加上说明,具体的 ``` \path[->] (A) edge node{write sth here} (B); ``` 需要注意的是关于说明文字的`node`记号是不带`\`的,上面的代码绘制出的效果如下 ![](https://box.kancloud.cn/2b2858e26cfbe76a7dfe93b952f5ce6c_511x215.png) 可以看到说明的位置和大小都不对,通过使用`\path`命令的参数`[auto]`可以自动调整说明文字的位置,调整后的效果如下 ![](https://box.kancloud.cn/7d376cc95f474a129ad1ab4219c9fa3d_520x208.png) 由于默认的node间的距离太小,难以容纳较长的字符串,需要通过调整node间的距离(*指定A和B的坐标可以实现,下文将会有更为优秀的方案*)来使得图形更为美观,经过调整的效果如下图所示 ![](https://box.kancloud.cn/27210aec1361d1e9ac84ef6874e10b41_587x110.png)