我有一个文件,有 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}