pb代码graph绘图表_[LaTeX 绘图] tikz 绘制流程图,概述和两个示例

本文已加入专栏文章目录,归入「示例」文章系列。

流程图,或者类似流程图的绘图目标,主要指具有以下特征的图形组合:

  • 多个带框文本,框的形状、框之间的位置关系有规律
  • 多条带箭头的线,线连接框

(这里是想说,在具体的使用场景和学科背景下,图形们各有各的叫法和名字,但从绘图的角度,它们和本文所介绍的「流程图」有很大的共性。)

以下,在无明显歧义时,我们用 node 代指「带框文本」,用 arrow 代指「带箭头的线」。

在 tikz 文档的 Tutorials 中,有

  • Sec. 3 Tutorial: A Petri-Net for Hagen
  • Sec. 5 Tutorial: Diagrams as Simple Graphs

两个流程图绘制的例子。本文提及的大部分内容,都能在这两个官方文档示例中找到介绍。

引入例子

一个简陋的例子

documentclass{
    article}
usepackage{
    tikz}
usetikzlibrary{
    positioning, shapes.geometric}

begin{
    document}
begin{
    tikzpicture}[node distance=10pt]
  node[draw, rounded corners]                        (start)   {
    Start};
  node[draw, below=of start]                         (step 1)  {
    Step 1};
  node[draw, below=of step 1]                        (step 2)  {
    Step 2};
  node[draw, diamond, aspect=2, below=of step 2]     (choice)  {
    Choice};
  node[draw, right=30pt of choice]                   (step x)  {
    Step X};
  node[draw, rounded corners, below=20pt of choice]  (end)     {
    End};
  
  draw[->] (start)  -- (step 1);
  draw[->] (step 1) -- (step 2);
  draw[->] (step 2) -- (choice);
  draw[->] (choice) -- node[left]  {
    Yes} (end);
  draw[->] (choice) -- node[above] {
    No}  (step x);
  draw[->] (step x) -- (step x|-step 2) -> (step 2);
end{
    tikzpicture}
end{
    document}

5972956c9cbacb129994750c6466a3f1.png

上述例子中,故意略去了

  • 关于 node 的设置,如外框形状
  • 关于 arrow 的设置,例如线的样式、箭头的样式等
  • 关于颜色和字体的设置

这些都可以通过定义 tikz style 来解决。

上述例子中,值得关注的是这些:

  • 少用、甚至不用具体坐标
    • 第一个 node 省略了坐标,相当于指定了 (0, 0)
    • 从第二个 node 开始,利用 tikz library positioni
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值