如何绘制一条连续的线,其中每个线段的起点与前一个线段的终点相同

如何绘制一条连续的线,其中每个线段的起点与前一个线段的终点相同

也许我没想对,但我想从一组输入数据中画一条线。每个数据条目在该线上提供一个点。如果该线是“静态的”,我只需执行以下操作:

\draw (0,100) -- (50,99) -- (150,80) -- (200,90) -- (250,65);

但我希望 y 值来自数据列表。我希望我可以做类似的事情:

\draw (0,100) -- (50,99);
\draw -- (150,80);
% etc

这个想法是,第二个\draw命令使用(50,99)作为其起始坐标。这样我就可以使用 a\foreach或其他东西。但这不起作用。

我是否错过了一些干净的方法来做到这一点?

答案1

我不确定我是否完全理解了你的问题。这看起来像是你想要实现的吗?

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    
    
    \draw[line width=2mm, red ] (0,100)
    \foreach \x/\y in {50/99,100/98,150/80,200/90,250/65}
    {-- (\x,\y)};
    
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

还有两个选项。第一个使用foreach内部draw命令,第二个使用plot coordinates命令。

\documentclass[tikz, border=5mm]{standalone}

\begin{document}
\begin{tikzpicture}
\draw[red, line width=2mm] (0,100) foreach \i in {(50,99),(150,80),(200,90),(250,65)}{--\i};
\end{tikzpicture} 

\begin{tikzpicture}
\draw[blue, line width=2mm] plot coordinates {(0,100) (50,99) (150,80) (200,90) (250,65)};
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容