在 LaTeX 中绘制工作流程图

在 LaTeX 中绘制工作流程图

我正在尝试用 LaTeX 整理一些图表。

我的困境如下。我有一份技术报告,其中包含大量来自 MATLAB 的图像。我需要能够徒手绘制/绘制其他图(例如小波函数):

小波函数

所以我有几个选择:

  • 使用 PowerPoint 来制作所有图表(我最熟悉的创作工具)。问题是一切看起来与 MATLAB + PowerPoint 的内容不相符/不匹配
  • 用 MATLAB 做所有事情。生成以我想要的方式说明我的观点的图表可能有点乏味,但这是可以做到的。
  • 使用某种 LaTeX 图表工具包。我目前对 LaTeX 图表一无所知,但我不介意探索一下。 看起来很乏味。 在那儿任何具有 GUI 的 LaTeX 图表工具包?

作为一名经验丰富的 LaTeX 用户,你的如何指导如何生成专业数学图表,使它们看起来不突兀,而且不需要几十年的时间才能完成?

答案1

对于这样的任务,你可以用坐标来完成一切。正如你在问题评论中提到的,要使用的包是 pgfplots。它是基于文本的,但非常容易使用。我认为它实际上比 Matlab 更好,可以快速获得你想要的图。例如,你的第一个图将是(已更新,谢谢 Jake!)

\documentclass[10pt]{article}
\usepackage{pgfplots}
\begin{document}

\pgfplotsset{width=6cm,compat=newest}

\begin{figure}[ht]
\begin{tikzpicture}
\begin{axis}[
    scale only axis,
    xlabel={$x$-axis},
    ylabel={$y$-axis},
    ymin=-1.5,
    ymax=1.5,
    xmin=-0.5,
    xmax=1.5,
]
\addplot[color=blue,thick] coordinates {
            (0, 0)
            (0, 1)
            (1, 1)
            (1, 0)
        };
% The following command puts the line in on the axis.
\draw ({rel axis cs:0,0} |- {axis cs:0,0}) -- ({rel axis cs:1,0} |- {axis cs:0,0});
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

结果如下:

带坐标的简单绘图

现在看起来代码很多,但大部分代码都是可重复使用的。轴标签很明显,范围也很明显。如果您习惯在 matlab 中绘图,这应该很清楚。这样scale only axis做是为了使 pgfplot 轴的大小为 6cm,而不是整个带有标签的图。

使用 可以将内容添加到画布中\addplot。在这种情况下,我直接输入坐标;非常适合您的草图。不过,您也可以输入文件。如果您的文件包含顶部带有标签的数据列。例如,此代码

\pgfplotsset{width=6cm,compat=newest}
\begin{axis}[
    scale only axis,
    xlabel={$\tau$ ($\mu$s)},
    ylabel={P(bitflip)},
    ymin=0,
    ymax=1,
    xmin=0,
    xmax=125.66,
]
\addplot[thick,color=red]
    table[x=time,y=fidelity] {data.txt};
\end{axis}
\end{tikzpicture}

使用如下所示的数据文件data.txt(制表符分隔,易于用 Matlab 生成)

time    fidelity
0.00000000e+00  0.00000000e+00
2.16135894e-01  1.11612759e-04
7.52429193e-01  8.16588122e-04
1.29606053e+00  8.76288172e-04
1.84266188e+00  7.06435551e-04
2.40147636e+00  7.93280613e-04
2.95870895e+00  6.89534671e-04
3.50977092e+00  8.62614471e-04

产生这个

在此处输入图片描述

这种方法最显著的好处是,如果您要绘制大量类似的图表,则只需更改几行坐标,字体大小和样式与文档的其余部分相匹配。另一个好处是图表的大小非常容易控制,而使用 Matlab 时我总是觉得很难控制。最后,如果发生了变化,例如您决定使用不同的颜色或更正标签,那么只需快速编辑,而不是通过打开外部包重新生成整个图形。

答案2

TeX 中首选的图表工具是 TikZ、PSTricks 和 MetaPost,它们都是基于文本的,学习难度较高。如果您正在寻找易于使用的 GUI 工具,请查看艾佩. 这个 PracTeX文章对 Ipe 的功能和用法进行了很好的总结。

答案3

为什么不使用pst-plot?它是 PSTricks 软件包之一,专门用于以最小的努力绘制几乎任何东西。访问PSTricks 画廊并四处寻找pst-plot例子。

例子:

\documentclass{article}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}(-1,-1)(6,1)
\psaxes{->}(0,0)(-0.75,-0.75)(5.75,0.75)[$x$,90][$y$,180]
\psline[linecolor=blue](1,0)(1,0.5)(5,0.5)(5,0)
\end{pspicture}
\end{document}

为了简单起见,使用 进行编译xelatex。为了更快地进行编译,请使用latex-dvips-ps2pdf序列。

在此处查看输出。

相关内容