pgfplots 中数据点周围的矩形

pgfplots 中数据点周围的矩形

如果我在 pgfplot 中有一些数据点,我该如何在它们周围绘制一个矩形,并使该矩形使用与点相同的坐标系?

我在下面提供了一个不起作用的例子。

\begin{tikzpicture}[scale=1.5]
\begin{axis}[xlabel=x, ylabel=y]
\addplot[smooth,mark=*,blue] plot coordinates {
    (0,2)
    (2,3)
    (3,1)
};
\addplot[red, thick,rounded corners] (0,-1) rectangle (0,0);
\end{axis}
\end{tikzpicture}

(为什么是十字而不是矩形?)

根据手册我期望使用:

\addplot[red, thick,rounded corners] (axis cs: 0,-1) rectangle (axis cs: 0,0);

可能会强制矩形使用与点相同的坐标系,但如果不这样做,代码将无法再编译。

答案1

如果您想向轴添加类似的元素,请不要使用\addplot(毕竟您没有添加图表),而是使用\draw\fill\node

 \documentclass[a4paper, 11pt]{article}

\usepackage{pgfplots}
\pgfplotsset{compat=newest} % Makes the axis label placement prettier

\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=x, ylabel=y, ymin=0]
\addplot[smooth,mark=*,blue] plot coordinates {
    (0,2)
    (2,3)
    (3,1)
};
\draw [red, thick,rounded corners] (axis cs:-0.2,1.8) rectangle (axis cs:2.2,3.2);
\end{axis}
\end{tikzpicture}

\end{document}

相关内容