帮助绘制图形(图论)

帮助绘制图形(图论)

有人能帮我编写代码来得到与下图相同的图形吗?

在此处输入图片描述

\begin{tikzpicture}
    \matrix[column sep=2em, row sep=10ex, inner sep=0pt, minimum width=6pt] (M) {%
        \node[mypoint, label={[left,xshift=-4pt]V1}, fill=green] (V1) {}; & & & & & \node[mypoint, label={above:$V_{2}$}] (V2) {};\\


        \node[mypoint, label={[left,xshift=-4pt]V5}] (V5) {}; & & & & &  
        \node[mypoint, label={below left:V4}] (V4) {}; & & & & &  
        \node[mypoint, label={[right,xshift=2pt]V3}] (V3) {};\\
    };
    \draw (V1) -- (V2);
    \draw (V5) -- (V1);
    \draw (V5) -- (V4);

\end{tikzpicture}

答案1

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (-2.,0.)-- (2.,0.);
\draw(-2.,-1.) circle (1.cm);
\draw (-2.,4.)-- (-2.,0.);
\draw [rotate around={0.:(0.,4.)}] (0.,4.) ellipse (2.1cm and 0.5cm);
\draw (0.2,5.2) node[anchor=north west] {$e_1$};
\draw (0.2,3.4) node[anchor=north west] {$e_2$};
\draw (2.1,4.3) node[anchor=north west] {$v_4$};
\draw (-2.7,4.4) node[anchor=north west] {$v_3$};
\draw (-2.7,2.3) node[anchor=north west] {$e_3$};
\draw (2.2,0.4) node[anchor=north west] {$v_1$};
\draw (-2.8,0.4) node[anchor=north west] {$v_2$};
\draw (-2.8,-2.0) node[anchor=north west] {$e_4$};
\draw (0.1,-0.1) node[anchor=north west] {$e_5$};
\begin{scriptsize}
\draw [fill=black] (-2.,0.) circle (3.5pt);
\draw [fill=black] (2.,0.) circle (3.5pt);
\draw [fill=black] (-2.,4.) circle (3.5pt);
\draw [fill=black] (2.,4.) circle (3.5pt);
\end{scriptsize}
\end{tikzpicture}
\end{document}

答案2

让我尝试解释一下代码。

\matrix[<options>] (<name>) {<code>};

生成一个matrix(类似于一个tabular<options>,其中包含一些称为的<name>,其行在中指定<code>。我认为您可以搜索我在中使用的各种选项的含义,这可能是一项很好的练习TikZ 和 PGF 手册

\node[<options>] (<name>) {<text>};

生成一个名为 的点<name>,其特征由 指定,<options>部分位于<text>内部。由于您的节点内部没有文本,但在外部,因此我使用了选项label={[<label-options>]<label-text>},该选项在节点附近放置一个带有文本 的标签<label-text>(标签的位置由 指定<label-options>)。请注意,由于您的所有节点都是circle, fill=black,因此我还创建了一个style名为 的点mypoint,以避免每次都编写通用选项。

\draw (<node-start>) to [<options>] node[<label-position>]{<label-text>} (<node-end>);

<node-start>从到画一条线<node-end>,其中 一些<options>位于<label-text><label-position>

\draw (<node>) arc (<start-angle>:<stop-angle>:<radius>) node[<label-position>] {<label-text>};

绘制一个圆弧,<node>以 为起点,以<start-angle><stop-angle>终点,半径为<radius><label-text>位于<label-position>

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{%
    mypoint/.style={circle, fill=black},
}

\begin{document}
\begin{tikzpicture}
\matrix[column sep=6em, row sep=10ex, inner sep=0pt, minimum width=6pt] (M) {%
    \node[mypoint, label={[left,xshift=-6pt,yshift=-3pt]V3}] (V3) {}; & \node[mypoint, label={[right,xshift=6pt,yshift=-3pt]V4}] (V4) {}; \\
    \node[mypoint, label={[right,xshift=2pt,yshift=4pt]V2}] (V2) {}; & \node[mypoint, label={[right,xshift=6pt,yshift=-3pt]V1}] (V1) {}; \\
};
\draw (V3) to [bend left] node[above]{e1}  (V4);
\draw (V3) to [bend right] node[below]{e2} (V4);
\draw (V3) -- node[left]{e3} (V2);
\draw (V2) -- node[below]{e5} (V1);
\draw (V2) arc (45:360+45:4mm) node[below left,xshift=-14pt,yshift=-14pt] {e4};
\end{tikzpicture} 
\end{document}

在此处输入图片描述

一些忠告:

  1. 阅读教程TikZ 和 PGF 手册,特别是第 5 节
  2. 阅读我们的TeX.SX 入门指南(红色字为链接,请点击!)
  3. 把一个完整的最小工作示例(MWE)你已经尝试过的方法,而不仅仅是你之前的一个问题的答案片段
  4. 接受答案这解决了你的问题,你对之前的问题有很多答案,但你还没有接受任何一个。

相关内容