如何在 tikz 中绘制线上的点

如何在 tikz 中绘制线上的点

我正在尝试在 tikz 中绘制图表。

\documentclass{article}
\usepackage{tikz, subfigure}
\usepackage[papersize={100mm, 100mm}, text={100mm, 100mm}]{geometry}
\tikzstyle{every node}=[draw,shape=circle]


\newcommand{\order}[2][th]{\ensuremath{{#2}^{\mathrm{#1}}}}

\begin{document}
\pagestyle{empty}
\begin {figure}[1]
  \centering

  \subfigure[picture 1]{
    \begin{tikzpicture}
\tikzstyle{every node}=[draw,shape=circle]

\draw[xshift=-1cm] (0,0) coordinate[label=above:$a$](a) -- (1,0) coordinate [label=below:$u_1$](b);
\draw[xshift=-1cm] (2,0) coordinate[label=below:$v_1$](c) -- (3,0) coordinate [label=below:$u_2$](d);
\draw[xshift=-1cm] (4,0) coordinate[label=below:$v_2$](e) -- (5,0) coordinate [label=above:x](f);
\draw[xshift=-1cm] (5,0) coordinate[label=above:x] -- (6,0) coordinate [label=above:b](B);


\draw (b) to[out=110,in=70] ++(2,0);
\draw (c) to[out=110,in=70] ++(2,0);


   \end{tikzpicture}
  }
  \end{figure}
\end{document} 

但是找不到如何在 a、v1、v2 等上画点。你能帮帮我吗?

答案1

您可以使用nodes 代替坐标,例如

node[circle,fill,inner sep=1pt,label=above:$a$](a){}

代码:

\documentclass[tikz,border=5pt]{standalone}
\tikzset{every node/.style={draw,shape=circle}}


\newcommand{\order}[2][th]{\ensuremath{{#2}^{\mathrm{#1}}}}

\begin{document}
    \begin{tikzpicture}
\tikzstyle{every node}=[draw,shape=circle]

\draw[xshift=-1cm] (0,0) node[circle,fill,inner sep=1pt,label=above:$a$](a){} -- (1,0) 
node[circle,fill,inner sep=1pt,label=below:$u_1$](b){};
\draw[xshift=-1cm] (2,0) node[circle,fill,inner sep=1pt,label=below:$v_1$](c) {} -- (3,0) 
node[circle,fill,inner sep=1pt,label=below:$u_2$](d){};
\draw[xshift=-1cm] (4,0) node[circle,fill,inner sep=1pt,label=below:$v_2$](e){} -- (5,0) 
node[circle,fill,inner sep=1pt,label=above:x](f){};
\draw[xshift=-1cm] (5,0) node[circle,fill,inner sep=1pt] {} -- (6,0) node[circle,fill,inner sep=1pt,label=above:b](B){};


\draw (b) to[out=110,in=70] ++(2,0);
\draw (c) to[out=110,in=70] ++(2,0);


   \end{tikzpicture}
\end{document}

在此处输入图片描述

另一种选择是单独绘制圆圈,例如

\fill (a) circle[radius=1pt];

对其他点也执行相同操作。

不过,您必须在代码中更正这些问题:

  1. 不要使用\tikzstyle。它已被弃用。请tikzset改用 。
  2. 不要使用subfigure(已弃用)。使用subcaption(提供subfigure环境)或subfig(提供subfloat
  3. 在环境的可选参数中figure,您使用了[1]错误的。必须是[htbp]

相关内容