使用 pgffor 将逗号分隔的序列转换为坐标序列

使用 pgffor 将逗号分隔的序列转换为坐标序列

我有一个逗号分隔的对序列

\def\sequence{0/1, 1/3, 2/2, 3/2, 4/0, 5/3, 6/3, 7/3}

我想用pgffor它转换成

{(0,1) (1,3) (2,2) (3,2) (4,0) (5,3) (6,3) (7,3)}

我计划使用它来\draw [smooth] plot coordinates制作平滑的曲线。

有没有什么方法可以简单地做到这一点?

draw [smooth] plot coordinates如果没有,是否有一种简单的方法可以仅使用 来模拟 的功能\foreach \i/\j in \sequence {...}

梅威瑟:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\def\sequence{ 0/1, 1/3, 2/2, 3/2, 4/0, 5/3, 6/3, 7/3}

\def\points{}
\foreach\x/\y in\sequence{%
  \expandafter\xdef\expandafter\mycoords\expandafter{\points (\x,\y)}%
}%

\draw [thick] plot [smooth] coordinates \points;
\end{tikzpicture}

\end{document} 

答案1

下面以坐标格式存储它们

\def\mycoords{}
\def\myseq{0/1,1/3,2/2,3/2,4/0,5/3,6/3,7/3}
\foreach\x/\y in\myseq{%
  \expandafter\xdef\expandafter\mycoords\expandafter{\mycoords (\x,\y)}%
}%

相关内容