pgfplots 轴放大极限

pgfplots 轴放大极限

可能重复:
带轴的图像

我想将图像放置在轴框的边缘,但是由于扩大的限制值(我不知道),我找不到放置图像的坐标以及高度应该是多少。

我要说的是这个:

阴谋

我的代码看起来像这样。

\begin{tikzpicture}
\begin{axis}
\addplot[color=colora] file {data.dat};
\node[anchor=base east] at (axis cs:0,0) {\includegraphics[height=1cm,keepaspectratio]{myimage.png}};
\end{axis}
\end{tikzpicture}

有什么建议么?

答案1

您正在寻找的是enlargelimits=false插入图形时应始终使用的。还请注意,您应该明确添加绘图的限制!pgfplots无法从图像中读取。因此始终设置:

xmin
xmax
ymin
ymax

使用图形时。

不过,我建议你研究一下这个\addplot graphics命令,它基本上可以完成你想要做的事情。而且对于图形的大小等来说,它更容易维护。

以手册中的示例为例,执行以下操作:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[small, enlargelimits=false,axis on top]
    \addplot graphics [xmin=-3,xmax=3,ymin=-3,ymax=3] {external1};
    % Add a second graph on top of the graphics (be sure to have
    % graphics first!
    \addplot coordinates { (1,1) (1,2) };
  \end{axis}
\end{tikzpicture}
\end{document}

它将会像这样:

在此处输入图片描述

如果您希望将其放在右侧,只需执行相同操作,但在轴环境中指定额外的填充。如果需要,您也可以使用 . 来实现enlarge x limits={abs value=<extra x space>,lower}lowerupper

\begin{axis}[small,enlargelimits=false,
    enlarge x limits={abs value=2,lower},axis on top]
  \addplot graphics [xmin=-3,xmax=3,ymin=-3,ymax=3] {external1};
  \addplot coordinates { (-4,1) (1,2) };
  \addplot coordinates { (1,1) (1.25,2.5) };
\end{axis}

这会是:

在此处输入图片描述

最后一件事是,如果您希望它位于两侧之间。那么只需在环境中axis明确指定限制即可。

正如杰克提到的那样,axis equal image钥匙可以用来保持长宽比例. 它保留了极限(不同于axis equal

尝试插入axis equal image,您将获得:

在此处输入图片描述

相关内容