忽略了远远超出定义范围的绘图中的点:我无法处理大于 19 英尺的尺寸

忽略了远远超出定义范围的绘图中的点:我无法处理大于 19 英尺的尺寸

尽管我对 y 坐标设置了上限,但 pgfplots 仍试图绘制一个巨大的图,我试图放大一些数据,同时忽略空间中很远的点。我认为它应该过滤掉不在我设定的范围内的数据。或者有什么原因没有这样做?这是一个 MWE

\documentclass{article}
 \usepackage{pgfplots}
 \usepackage{filecontents}
 \begin{filecontents*}{data.csv}
  a,b
  1,.4
  2,.3
  3,.5
  4,.1
  5,300
  \end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ymin = 0,ymax = 0.7]
\addplot table [x=a, y=b, col sep=comma] {data.csv};
\end{axis}
\end{tikzpicture}

\end{document}

结果是:我无法处理大于 19 英尺的尺寸。

此外,有没有一种方法可以解决这个问题,而不需要在我尝试绘图之前手动调整我的数据集?

谢谢

答案1

如上所述,过滤器可以用作

\documentclass{article}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
a,b
1,.4
2,.3
3,.5
4,.1
5,300
\end{filecontents*}


\begin{document}
\begin{tikzpicture}
\begin{axis}[ymin = 0,ymax = 0.7]
\addplot +[y filter/.expression={y>0.7 ? NaN : y},] table [x=a, y=b, col sep=comma] {data.csv};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容