根据 x 值绘制点?

根据 x 值绘制点?

是否有任何选项可以替换each nth point={100}依赖于列值的内容?

我的表格是这样的:

x   y
0   5
1   4
2   5
3   3
3   -3
2   -4
1   -1
0   0

我只想绘制低于 2 的 x 值。

(当然,这只是最小的情况,在完整的情况下,修改表格并不容易,而且我使用同一轴内的其他值)。

答案1

这是第一个选项,使用restrict x to domain=0:2

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\usepackage{pgfplotstable}
\pgfplotstableread{ % Read the data into a table macro
x   y
0   5
1   4
2   5
3   3
3   -3
2   -4
1   -1
0   0
}\mydata

\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[restrict x to domain=0:2] table [x=x,y=y]
{\mydata};
%
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

并使用xmax

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\usepackage{pgfplotstable}
\pgfplotstableread{ % Read the data into a table macro
x   y
0   5
1   4
2   5
3   3
3   -3
2   -4
1   -1
0   0
}\mydata

\begin{document}
\begin{tikzpicture}
\begin{axis}[xmax=2]
\addplot table [x=x,y=y]
{\mydata};
%
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

您总是有可能使用x expr宏来编写一些复杂的比较程序,但我现在就不提了。

相关内容