该图是数据的直观表示。以类似的方式,在Latex中使用图表进行说明。临时模型也是一种表示信息的方法,称为节点图。图形用于表示2D以及3D信息。
该软件包用于在Latex中实现图形。该软件包声明为:
\usepackage[all]{xy}
在这里,all立即定义了程序包, xy 是用于绘制图形的轴。
各种类型的图形用于表示信息,下面列出了这些信息:
在项目符号图中,轴上的点命名为(x-point,y-point),其中x指向x轴上的点,y点是y轴上的点。相应的项目符号点在此处提到的(x,y)点处绘制。
节点的名称是使用\bullet _ {..} 命令确定的。
绘制项目符号图的命令是\xygraph {...} 。
此示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} % 第一个值 (0,0) 确定图形的原点。 第二个和第三个值确定长度以及 x 和 y 轴的正负。 !{(0,0) }*+ {\bullet_{m}} % !{(0,1) }*+ {\bullet_{n}} !{(2,1) }*+ {\bullet_{o}} !{(4,-2)}*+ {\bullet_{p}} %+- 符号用于为顶点添加名称。 } \end{document}
输出:
现在,让我们更改积分的值。您可以轻松比较上述输出中的新输出。新代码是-
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,-1cm>::} % 第一个值 (0,0) 确定图形的原点。 第二个和第三个值确定长度以及 x 和 y 轴的正负。 !{(0,0) }*+ {\bullet_{m}} % !{(0,1) }*+ {\bullet_{n}} !{(2,1) }*+ {\bullet_{o}} !{(4,-2)}*+ {\bullet_{p}} %+- 符号用于为顶点添加名称。 } \end{document}
此示例的输出是:
您可以轻松比较以上示例中的y轴与第一个示例中的y轴相反。同样,您可以根据需要更改值。
让我们考虑另一个示例,以更好地理解。现在,将轴的点更改为0.5。 此示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \xygraph{ !{<0cm,0cm>;<0.5cm,0cm>:<0cm,0.5cm>::} % 值更改为 0.5 !{(0,0) }*+ {\bullet_{m}} % !{(0,1) }*+ {\bullet_{n}} !{(2,1) }*+ {\bullet_{o}} !{(4,-2)}*+ {\bullet_{p}} %+- 符号用于为顶点添加名称。 } \end{document}
现在的输出将显示为:
如果要将项目符号或顶点图形包含在框架中,则需要使用fbox命令。
Latex中的 fbox 命令写为:
\[\fbox ...要封装在框架中的文本..... \]
此示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<-1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+ {\bullet_{m}} !{(0,1) }*+ {\bullet_{n}} !{(2,1) }*+ {\bullet_{o}} !{(4,-2)}*+ {\bullet_{p}} }} \] \end{document}
输出:
绘制有向图的过程与项目符号图的过程相同。您需要包括从顶点到特定顶点或项目符号的路径。路径确定为" r"-" s ",其中 r 和 s 是特定的顶点。
此类示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{q}}="q" !{(1,0) }*+{\bullet_{r}}="r" !{(2,1) }*+{\bullet_{s}}="s" !{(3,-2)}*+{\bullet_{t}}="t" "q"-"r" "t"-"q" "r"-"s" "s"-"t" "t"-"s" } } \] \end{document}
输出:
对于边缘的箭头,您需要使用:冒号而不是 - 横线
代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{q}}="q" !{(1,0) }*+{\bullet_{r}}="r" !{(2,1) }*+{\bullet_{s}}="s" !{(3,-2)}*+{\bullet_{t}}="t" "q":"r" "t":"q" %这里使用:号 "r":"s" "s":"t" "t":"s" } } \] \end{document}
输出:
要弯曲边缘,需要在两个顶点之间使用-@/^/。例如,如果要在a和b顶点之间绘制弯曲边缘,则需要使用" a"-@/^ /" b" 来提及命令。
此示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{q}}="q" !{(1,0) }*+{\bullet_{r}}="r" !{(2,1) }*+{\bullet_{s}}="s" !{(3,-3)}*+{\bullet_{t}}="t" "q":"r" "t":"q" "r":"s" "s"-@/^/"t" "t"-@/^/"s" } } \] \end{document}
输出:
您也可以通过在命令之间指定弯曲边缘的长度来确定弯曲边缘的长度。对于1厘米的长度,您需要提及-@/^ 1cm/。
此示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{e}}="e" !{(1,1) }*+{\bullet_{f}}="f" !{(2.5,0.5) }*+{\bullet_{g}}="g" !{(3,-1)}*+{\bullet_{h}}="h" "e"-"f" "f"-@/^2cm/"h" "h"-"g" "e"-@/^/"h" "f"-@/^1cm/"g" } } \] \end{document}
输出:
您还可以标记图形的边缘。边的标签在有向命令的末尾指定为^(标签到特定顶点的距离) {e_1} 。您可以使用任何字符或数字来代替{e_1}命令。
此类示例的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{e}}="e" !{(1,1) }*+{\bullet_{f}}="f" !{(2.5,0.5) }*+{\bullet_{g}}="g" !{(3,-1)}*+{\bullet_{h}}="h" "e"-"f"^(0.6){c_1} "f"-@/^2cm/"h" ^(0.6){e_2} "h"-"g" ^(0.8){a_3} "e"-@/^/"h" ^(0.4){e_4} "f"-@/^1cm/"g" ^(0.7){b_5} } } \] \end{document}
输出:
您需要在\bullet 命令为顶点着色之前提及颜色的名称。如果要为边缘着色,则需要在定向命令之前提及颜色名称。
您还需要指定 xcolor 包以在边缘或顶点上实现颜色。
为顶点(vertices)着色的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \usepackage{xcolor} %引用颜色包 \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+[red]{\bullet_{q}}="q" !{(1,0) }*+{\bullet_{r}}="r" !{(2,1) }*+[blue]{\bullet_{s}}="s" !{(3,-3)}*+[green]{\bullet_{t}}="t" "q":"r" "s":"q" "r":"s" "q"-@/^/"t" "t"-@/^/"s" } } \] \end{document}
输出:
为边缘(edges)着色的代码如下:
\documentclass[12pt]{article} \usepackage[all]{xy} \usepackage{xcolor} \begin{document} \[ \fbox{ \xygraph{ !{;:::} !{(0,0) }*+{\bullet_{q}}="q" !{(1,0) }*+{\bullet_{r}}="r" !{(2,1) }*+{\bullet_{s}}="s" !{(3,-3)}*+{\bullet_{t}}="t" "q":"r" "s":@[blue]"q" "r":@[red]"s" "q"-@/^/@[green]"t" "t"-@/^/@[orange]"s" } } \] \end{document}
输出:
在空对象中,在每个顶点处指定原点以绘制图形。您需要根据多边形的边数确定Angular 。例如,为具有五个边的多边形指定72度的Angular 间隙,为六个边的多边形定义60度的Angular 间隙。
该公式计算出间隙= 360/n
其中n =多边形的边数
对于Angular 不规则的间隙,Latex会产生误差。该图仅在全部均匀的情况下绘制。
指定Angular ,两个多边形之间的距离和顶点的命令写为:
!{(0,0); a(0)** {}?(1.0)} * + {\bullet} =" a1"
在哪里,
(0,0)是原点 a(0)是Angular ,起点将为0。 (1.0) 是边缘的长度。
a1是顶点的名称
以下是两个示例以说明上述过程。
下面是绘制双图三角形的第一个示例的代码:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0);a(0)**{}?(1.0)}*+{\bullet}="a1" !{(0,0);a(120)**{}?(1.0)}*+{\bullet}="a2" !{(0,0);a(240)**{}?(1.0)}*+{\bullet}="a3" !{(0,0);a(0)**{}?(1.8)}*+{\bullet}="b1" !{(0,0);a(120)**{}?(1.8)}*+{\bullet}="b2" !{(0,0);a(240)**{}?(1.8)}*+{\bullet}="b3" "a1"-"a2" "a2"-"a3" "a3"-"a1" "b1"-"b2" "b2"-"b3" "b3"-"b1" "a1"-"b1" "a2"-"b2" "a3"-"b3" } } \] \end{document}
根据上面的公式,多边形的三个边使用120度的间隙。
输出:
第二个示例绘制双图八边形的代码如下所示:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0);a(0)**{}?(1.0)}*+{\bullet}="b1" !{(0,0);a(45)**{}?(1.0)}*+{\bullet}="b2" !{(0,0);a(90)**{}?(1.0)}*+{\bullet}="b3" !{(0,0);a(135)**{}?(1.0)}*+{\bullet}="b4" !{(0,0);a(180)**{}?(1.0)}*+{\bullet}="b5" !{(0,0);a(225)**{}?(1.0)}*+{\bullet}="b6" !{(0,0);a(270)**{}?(1.0)}*+{\bullet}="b7" !{(0,0);a(315)**{}?(1.0)}*+{\bullet}="b8" !{(0,0);a(0)**{}?(1.8)}*+{\bullet}="c1" !{(0,0);a(45)**{}?(1.8)}*+{\bullet}="c2" !{(0,0);a(90)**{}?(1.8)}*+{\bullet}="c3" !{(0,0);a(135)**{}?(1.8)}*+{\bullet}="c4" !{(0,0);a(180)**{}?(1.8)}*+{\bullet}="c5" !{(0,0);a(225)**{}?(1.8)}*+{\bullet}="c6" !{(0,0);a(270)**{}?(1.8)}*+{\bullet}="c7" !{(0,0);a(315)**{}?(1.8)}*+{\bullet}="c8" "b1"-"b2" "b2"-"b3" "b3"-"b4" "b4"-"b5" "b5"-"b6" "b6"-"b7" "b7"-"b8" "b8"-"b1" "c1"-"c2" "c2"-"c3" "c3"-"c4" "c4"-"c5" "c5"-"c6" "c6"-"c7" "c7"-"c8" "c8"-"c1" "b1"-"c1" "b2"-"c2" "b3"-"c3" "b4"-"c4" "b5"-"c5" "b6"-"c6" "b7"-"c7" "b8"-"c8" } } \] \end{document}
在上面的代码中,我们采用了多边形的8个面。通过公式计算出的角度间隙为45度。
输出:
循环在顶点上创建。开发循环的方法是用- 和 @ (a1,a2)修改edge命令,其中a1和a2是进出方向。方向的选择为l(左),u(上),r(右),d(下)。 dr,dl,ur,ul 方向用于四个对角线。
下面给出了创建循环的代码:
\documentclass[12pt]{article} \usepackage[all]{xy} \begin{document} \title{How to learn latex graphs by learnfk} \author{ Welcome learnfk.com } \date{\today } \maketitle \[ \fbox{ \xygraph{ !{<0cm,0cm>;<1cm,0cm>:<0cm,1cm>::} !{(0,0) }*+{\bullet_{q}}="q" !{(2,1) }*+{\bullet_{s}}="s" !{(3,-2)}*+{\bullet_{t}}="t" "q"-"s" "s"-"t" "q"-"t" "q" -@(lu,ld) "q" "s" -@(ru,rd) "s" "t" -@(ld,rd) "t" } } \] \end{document}
输出:
您可以根据需要进行尽可能多的循环。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕