1.概述

在本教程中,我们将研究如何在乳胶文件中绘制图表和地块。

首先,我们将讨论LaTeX作为计算机科学可视化工具的使用。

然后,我们将看到一个指导示例,该示例构建一个用于比较非线性激活函数的图。我们还将学习如何绘制方框图和柱状图来比较多个分布。

在本教程结束时,我们将知道如何在乳胶中绘制基本图表。

2.乳胶涂布

2.1。乳胶,图表和计算机科学

LaTex是一种强大的编程和标记语言,用于创建可定制的文档。它常用于文学中机器学习因为它有助于起草描述数据集, 这模型的体系结构他们和他们的算法优化

它还有助于创建情节和图表及其完整定制.这是通过使用专用软件包的使用,因为我们在下一节中看到,因为原始乳胶实现是某种方式缺乏这一方面。

图表的绘图是计算机科学和机器学习中的典型任务,特别是可视化的分支专门用于它。在科学文献中,LaTex是一个中央软件,因为它输出了全面的文件而不是图表。因此,所有主要会议都有专用于乳胶的模板并要求这些数字嵌入其中。

这使得了解如何在乳胶中绘制图表尤为重要,我们将在这里学习如何做。

2.2。图表乳胶套餐

乳胶中的大部分绘图是通过专用包装制作的。两个最重要的包装是:

  • PGF / TikZ,通常称为Tikz,这是一个用于绘制几何的一般包装
  • pgFplots.,它在TIKZ构建并进一步扩展其功能

这些包的使用足以完成与绘制两者相关的大多数任务2D和3D图表.在本文中,我们专注于为分布和功能绘制2D绘图。但是,包装还允许绘制其他对象,例如图形有限状态机,如果我们需要这样做。

3.绘制TIKZ的功能

3.1。绘制笛卡尔岛

我们现在可以学习如何处理绘制A的任务物流功能,例如一个人物流回归.我们还会画其他的符合赛族函数旁边,展示他们的形状如何不同。

绘制函数时的第一个任务是绘制笛卡儿坐标.我们可以在里面做到这一点tikzpicture.环境,通过使用两次\ draw [ - >]命令:

\ DocumentClass {Stical} \ usepackage {tikz} \ begin {document} \ begin {tikzpicture} \ draw [ - >](-3.1,0) - (3.1,0)节点[右] {$ x $};\绘制[->](0,-2.1)——(0,2.1)node[以上]{$y$};\结束{tikzpicture} \结束{document}

这是输出:

呈现由QuickLaTeX.com

3.2。缩放和栅格

绘图现在显示两个带有适当标签的轴。我们已经决定使水平维度优先考虑,因为如我们所知,统计函数的Codomain在域名不是时非常窄。虽然该图表似乎很小,但我们通过传递a规模参数到tikzpicture.环境:

... \ begin {tikzpicture} [scale = 2] ... \结束{tikzpicture} ...

这使图表的大小翻了一一:

呈现由QuickLaTeX.com

现在大小是合适的,但剧本仍然似乎是空的。因为我们正在使用包含在有限间隔中包含的函数,所以我们可以使用网格线以显示其相对于轴的值。绘制网格线的最简单方法是绘制[点缀]网格命令:

\绘制[点缀](-3.1,-2.1)网格(3.1,2.1);

现在这个图表有一个虚线网格:

呈现由QuickLaTeX.com

3.3。绘制功能

飞机本身现在完成。我们已准备好添加第一个函数,我们可以使用它可以使用阴谋里面的命令\画.这是它的语法:

\绘制[parametersofdraw] plot [parameterofplot]函数{functiondefinition};

作为一般规则,我们应该始终通过ID参数到阴谋,让我们可以在必要时稍后引用绘图。关于我们的任务,我们希望绘制物流功能σ (x) = \frac {1} {1+ e^{-x}}穿蓝色衣服:

\绘制[color = blue] plot [id = logistic]函数{1 /(1 + exp(-x))};

该命令产生此图表:

呈现由QuickLaTeX.com

请注意,该功能如何扩展到左侧的左侧而不是水平轴,因此我们必须将其切割在极端。我们可以这样做,因为我们的图片中的所有礼物和未来的情节,通过指定领域参数的tikzpicture.环境:

\ begin {tikzpicture} [scale = 2,domain = -3:3] ... \结束{tikzpicture}

这将曲线限制为间隔x \在[-3,3]

呈现由QuickLaTeX.com

曲线现在适合图表。我们还想为它添加一个标签,我们可以略微修改它\画首先创建曲线的命令:

\ draw [color = blue]绘图[id = logistic]函数{1 /(1 + exp(-x))}节点[右] {$ f_1(x)= \ frac {1} {1 + e ^ { -x}} $};

这将标签放在绘图最右边点的右侧:

呈现由QuickLaTeX.com

3.4。绘制更多的s型函数

因为我们想要在logistic函数和其他s型函数之间进行比较,我们现在可以重复同样的步骤来绘制这三个附加函数:

我们可以通过重复来这样做\画命令,每次函数:

\ draw [color =红色]绘图[id =超大]函数{tanh(x)}节点[右] {$ f_2(x)= tanh(x)$};\ draw [color =橙色]绘图[id =代数]函数{x / sqrt(1 + x * x)}节点[右侧] {$ f_3(x)= \ frac {x} {\ sqrt {1 + x^ 2}} $};\绘制[颜色=棕色]绘图[ID = Arctangent]功能{atan(x)}节点[右侧] {$ f_4(x)= arctan(x)$};

这在图表中产生了三个额外的地块:

呈现由QuickLaTeX.com

3.5。完成触摸

两个功能的标签f_1,f_3但是现在几乎重叠了。我们可以通过分配价值进一步传播标签0.15厘米到参数在右侧正确的,以上对吧

呈现由QuickLaTeX.com

我们还可以注意到,函数的线条图并不是非常令人不稳定的。为了突出显示它们,我们可以给出参数很厚有关\画命令:

呈现由QuickLaTeX.com

最后,我们可以通过使用它为我们的图片添加标题\节点命令,使用此语法:

\ node [align = center,font = \ bfseries,yshift = 2em,xshift = -4.5em](title)at(title)at(title)处(title)(title)at(title)in(titleding box.north){sigmoidal函数};

这将包含标题为标签的不可见节点,在当前图表的上限上:

呈现由QuickLaTeX.com

3.6。完整的代码

这就结束了我们比较s型函数图表的发展。这是它的完整代码:

\documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture}[scale=2, domain=-3:3] \draw[->](-3.1,0)——(3.1,0)node[右]{$x$};\绘制[->](0,-2.1)——(0,2.1)node[以上]{$y$};\绘制[虚线](-3.1,-2.1)网格(3.1,2.1);\[很厚,颜色=画蓝色)情节(id =物流)函数{1 / (1 + exp (- x))}节点(右= 0.15厘米){$ f (x) = \压裂{1}{1 + e ^ {x}} $};函数{tanh(x)} node[above right=0.15cm] {$f_2(x) = tanh(x)$};\draw[very thick, color=orange] plot[id=代数]function{x/sqrt(1+x*x)} node[below right=0.15cm] {$f_3(x) = \frac{x}{\sqrt{1+x²}}$};函数{atan(x)} node[above right=0.15cm] {$f_4(x) =arctan (x)$};\node[align=center, font=\bfseries, yshift=2em, xshift=- 4.4 em] (title) at (current bounding box.north) {Sigmoidal functions};\结束{tikzpicture} \结束{document}

4.在PGFPLOTS中绘制盒子图

4.1。PGFPLOTS统计分析

要绘制图表,我们也可以使用包pgFplots.,它建立在Tikz之上,但进一步扩展了它的能力。PGFPLOTS简化了常见结构的图形,略微缩短开发简单图表所需的时间。我们现在将通过使用PGFPLOTS中的命令来了解如何构建不同类型的图表,而不是简单的函数图,而不是在TIKZ中使用。

在这个引导的教程中,我们想象一下我们希望从四个单独的课程比较学生的表演谁参加了考试,我们在百分点上得分。我们根据在讲座期间给定班级支付的一般注意力的一般注意力的四分之一的分数,我们想通过统计分析验证我们的期望是否正确。

我们在此任务中使用的图表是用于在单变量分布中表示主要统计数据的盒状图。箱形图在初步数据分析当我们研究一个结构的时候数据集我们会在哪个火车机器学习算法

在PGFPLOTS中,盒子图包含在库中统计数据,因此,我们必须在文件序言中包括:

\ DocumentClass {Stical} \ usepackage {pgfplots} \ pgfplotsset {compat = 1.16} \ deverypgfplotslibrary {statistics} \ begin {document} \ begin {tikzpicture}%我们的盒子绘图将进入这里\结束{tikzpicture} \ end {document}

请注意,我们通常必须指定一个\ pgfplotsset命令,并使用comp参数我们用于兼容性的PGFPLOT的版本。PGFPLOTS对此方面有点棘手,并未授予向后兼容性。

里面Tikzpicture,我们现在可以设置一个环境。此环境在初始化后接受多个参数,该参数控制我们绘图的大多数宏观特征.例如,我们可以定义其标题和轴的标签:

... \ begin {轴} [xlabel = {$ x $},ylabel = {$ y $},title = box plot]%plot去这里\结束{轴} ...

这是我们的情节,目前是空的:

呈现由QuickLaTeX.com

4.2。添加盒状图

我们现在可以将实际的盒子图添加到我们的图表中。框绘图本身是非参数的;但是,框绘图图表是根据这些参数在PGFPLOT中定义的:

  • 分布的中位数
  • 较低和上四分位数,分别对应于排序分布的第25和第75百分位数
  • 和下晶须,通常表示与分布的平均值的一个标准偏差

如果我们预先计算了给定分发的这些参数,那么我们可以使用\ addplot.在中内的命令环境,添加一个Boxplot准备了

... \ addplot + [boxplot准备= {较低的粉末= 25,低级= 37,中位数= 65,上四足= 72,上部keker = 81},]表[行sep = \\,y index = 0] {1 \\ 92 \\ 95 \\};......

这是由此产生的boxpot:

呈现由QuickLaTeX.com

套装桌子在上面的代码中,指示此特定框绘图的异常值。如果我们没有预先计算一个参数Boxplot准备了,我们可以让PGFPLOTS通过将单变量分配传递给箱形图处理程序,然后将它们返回Boxplot准备了

4.3。多个箱图之间的比较

我们现在可以重复\ addplot +命令将附加框绘图插入我们的图表:

呈现由QuickLaTeX.com

注意搞定怎么\ addplot +自动更改异常值的颜色和标记,每个连续的框绘图它会增加。

4.4。将标签添加到图表中

方框图现在已正确绘制,但垂直轴上的标签没有提供信息。属性添加标签ytick.yticklabels.参数的参数环境:

\ begin {轴} [xlabel = {score},title = {exame结果},yticklabels = {殷勤学生,绝不为人的学生,普通学生,高度参与的学生},]。.. \结束{轴}

请注意,我们还替换了轴的文本和盒子绘图图的标题,以反映我们的任务的性质更好。这是输出:

呈现由QuickLaTeX.com

4.5。完整的代码

看来我们持有的期望是正确的,我们分配给每个班级的标签通常代表考试的结果。反过来,这结束了构建盒子图来分析四个分布的任务。

这是代码构建了我们图表的最终版本:

\ DocumentClass {Stical} \ usepackage {pgfplots} \ pgfplotsset {compat = 1.16} \ usepgfplotslibrary {statistics} \ begin {document} \ begin {tikzpicture} \ begin {xackpicture} [xlabel = {score},title = {exampecture}那ytick.={1,2,3,4}, yticklabels={Attentive students, Inattentive students, Normal students, Highly participating students},] \addplot+ [boxplot prepared={lower whisker=25, lower quartile=37, median=65, upper quartile=72, upper whisker=81},] table[row sep=\\,y index=0] {1\\ 92\\ 95\\}; \addplot+ [boxplot prepared={lower whisker=12, lower quartile=17, median=25, upper quartile=52, upper whisker=61},] table[row sep=\\,y index=0] {72\\}; \addplot+ [boxplot prepared={lower whisker=12, lower quartile=25, median=50, upper quartile=75, upper whisker=87},] table[row sep=\\,y index=0] {\\}; \addplot+ [boxplot prepared={lower whisker=62, lower quartile=64, median=70, upper quartile=72, upper whisker=81},] table[row sep=\\,y index=0] {5\\9\\13\\}; \end{axis} \end{tikzpicture} \end{document}

5.在PGFPLOTS中绘制条形图

5.1。定义环境

我们还可以使用PGFplots绘制其他类型的图表,例如条形图,用于比较多个分布。当我们想要快速地可视化与同一类型测量相关的分布之间的差异时,条形图特别适合.例如,常见的例子是比较时间序列中的财务数据在多个组织。

出于这个原因,在这个导出的例子中,我们将使用条形图来比较在过去的财政年度期间三家公司在内的三家公司的费用。我们可以通过定义一个环境,我们通过标题和ybar.作为其选择:

\ begin {轴} [ybar,title = {2019年公司费用}] ... \结束{轴}

这是空的情节:

呈现由QuickLaTeX.com

如果我们使用XBar.相反,我们最终绘制出水平条形图;但由于金融数据通常是垂直绘制的,我们在这里也使用相同的约定。水平刻度应该代表我们预算的四个部分,\文本{\ {薪金,资本,贷款,税收\}}.因为我们对治疗不感兴趣X作为一个数字,而是作为分类价值,我们可以告诉环境要用这四个符号作为价值观X.为此,我们指定了符号x坐标范围:

\ begin {axace} [ybar,title = {公司费用在2019年},符号x coords = {薪金,资本,贷款,税收}]

这更改了水平滴答:

呈现由QuickLaTeX.com

这将自动删除额外的刻度,并让我们使用与每年相关联的字符串值作为X坐标任何数据点。但它也在标签之间创建了重叠,但我们将在一秒钟内解决。

5.2。添加酒吧

我们可以首先通过使用该数据在图表上绘制数据\ addplot.命令,正如我们在以前的练习中所做的那样:

\addplot+ coordinates{(工资,150)(资本,158)(贷款,142)(税收,164)};

对应绘制出相应的条形图:

呈现由QuickLaTeX.com

坐标,我们指定我们希望数据源自我们指示的特定元组,而不是表示包含它们的CSV文件。数据现在正常,但是是时候删除标签之间的重叠.我们可以这样做放大X限制选择环境:

\ begin {轴} [...,放大x limits = 0.2]

现在标签显示正确:

呈现由QuickLaTeX.com

然后,我们可以重复相同的程序并为其他两家公司添加数据:

呈现由QuickLaTeX.com

5.3。完成触摸

图表差不多完成。我们现在可以添加一个传奇和每个酒吧的价值在他们的上面的附近

对于第一个,我们可以使用\传奇命令。我们也通过了传说POS.到了环境避免重叠。关于每个酒吧的值,我们可以用它绘制它们附近的节点坐标同一环境的选项。最后,我们也可以删除y- 轴,现在是冗余的,以及顶部X-轴:

\ begin {轴} [...,传奇POS =西北,节点附近的弦,轴Y线=无,轴X线=底部] ... \图例{我们的公司,竞争对手1,竞争对手2} \结束{轴}

现在图表很完美,清洁:

呈现由QuickLaTeX.com

5.4。完整的代码

我们的条形图现已完成。这是复制它的完整代码:

\ DocumentClass {Stical} \ usepackage {pgfplots} \ pgfplotsset {compat = 1.16} \ begin {document} \ begin {tikzpicture} \ begin {axace} [ybar,标题= {company开支2019年},符号x coords = {工资,首都,贷款,税收},传奇POS =西北,轴y线=无,轴X线=底部,节点附近坐标,放大X LIMITS = 0.2,] \ addplot +坐标{(薪金,150)(首都,158)(贷款,142)(税,164)};\ addplot +坐标{(薪俸,143)(资本,146)(贷款,169)(税收,182)};\ addplot +坐标{(薪俸,162)(资本,156)(贷款,149)(税收,165)};\传说{我们公司,竞争对手1,竞争对手2};\ end {轴} \ end {tikzpicture} \结束{document}

六,结论

在本文中,我们研究了如何在乳胶中绘制基本图表。

具体来说,我们学习了如何使用TIKZ包绘制函数的函数,以及带有PGFPLOTS的框图和条形图。

评论在本文上关闭!