如果我在 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}