可能重复:
带轴的图像
我想将图像放置在轴框的边缘,但是由于扩大的限制值(我不知道),我找不到放置图像的坐标以及高度应该是多少。
我要说的是这个:
我的代码看起来像这样。
\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}
。lower
upper
\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
,您将获得: