在tikz中为addplot选择非连续的行

在tikz中为addplot选择非连续的行

我在一张表中列出了一些点,我想从中绘制几条闭环路径。对于每个 \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}

结果出现错误“定义中的参数编号非法...”。有人能帮忙吗?

非常感谢。

相关内容