pgfplots 中的 for 循环

pgfplots 中的 for 循环

我有一个文件,有 3 列,以空格分隔。前两列表示圆心 (x,y),最后一列是圆半径。

我想要选择每 4 行(或者更一般地在列表中指定行号)并通过 for 循环绘制选定的圆圈。

我似乎无法在 pgfplotstable 中解决这个问题。有什么提示吗?!

谢谢

答案1

以下是我回答的略微改编的版本通过文件中的数据参数绘制不同的 tikz 形状。它使用散点图绘制圆圈。您可以选择仅绘制每个n-th 标记使用mark repeat键,选择使用 键开始哪个条目mark phase

\documentclass{article}

\usepackage{pgfplots, filecontents}

\begin{filecontents}{data.dat}
# x y r
1 1 1
3 2 0.5
6 3 0.4
4 1 0.8
5 4 0.3
6 2 1
\end{filecontents}

\makeatletter
\begin{document}
\begin{tikzpicture}
\begin{axis}[scatter,
    scatter src=explicit,
    axis equal,
    only marks,
    grid=both,
    width=10cm,
    xmin=0, xmax=8,
    disabledatascaling,
    scatter/@pre marker code/.code={% Transform the data units to paper units
    \pgfkeys{/pgf/fpu=true}
      \pgfmathparse{(\pgfplotspointmeta*
        10^\pgfplots@data@scale@trafo@EXPONENT@x)*\pgfplots@x@veclength)}
      \pgfmathfloattofixed{\pgfmathresult}%
      \pgfkeys{/pgf/fpu=false}
      \scope[mark size=\pgfmathresult]
    }
]
\addplot [fill=yellow, mark repeat=2] file {data.dat};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容