我在一张表中列出了一些点,我想从中绘制几条闭环路径。对于每个 \addplot,我想给出该特定路径的索引列表。
问题是这些点不一定是连续的索引号。因此,我尝试结合这里和这里。对于每个 \coordindex,应检查它是否是所需列表的成员,如果不是,则将其丢弃。这是我尝试过的
\documentclass[11pt,a4paper]{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usetikzlibrary{calc,patterns}
\newif\ifmember
\makeatletter
\newcommand{\MemberQ}[2]{\global\memberfalse%
\edef\temp{#2}%
\@for\next:=#1\do{\ifx\next\temp\relax\global\membertrue\fi}}
\makeatother
\pgfplotsset{compat=1.14, select coords/.style 1 args={
x filter/.code={
\MemberQ{#1}{\coordindex}
\ifmember \else \def\pgfmathresult{}\fi
}
}
}
\begin{document}
\pgfplotstableread[]{
x y lab
10 10 A
20 10 B
20 20 C
10 20 D
}\mytable
\begin{tikzpicture}
\begin{axis}[]
\addplot [pattern color=blue,pattern=horizontal lines,select coords ={0,2,3}] table {\mytable}--cycle;
\end{axis}
\end{tikzpicture}
\end{document}
结果出现错误“定义中的参数编号非法...”。有人能帮忙吗?
非常感谢。