Расположите tikz-draw, который использует область видимости, внутри осевой среды, используя систему координат оси cs

Расположите tikz-draw, который использует область видимости, внутри осевой среды, используя систему координат оси cs

Проблема:Разместите tikz-draw, использующий область видимости, внутри осевой среды, используя систему координат оси cs.

Проблему лучше объяснить перед следующим кодом, который в настоящее время не является хорошим решением.

\documentclass[12pt]{report}
\usepackage[portuges, brazilian]{babel} % Hiphenação em portugues
\usepackage{graphics} % Suporte padrão para gráficos
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{grid=major,compat=1.11}

\begin{document}
\begin{figure}[!htb]
\centering
\begin{tikzpicture}

\pgfmathsetmacro{\Ffactor}{0.6}
\coordinate (car1) at (0.50,1.95);
\begin{scope} [rotate around={-25:(car1)}]
\draw[fill=yellow]     (car1) +  ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*(0.250,-0.100)$);
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*( 0.175, 0.075)$); % rear left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250, 0.100)$) rectangle + ($\Ffactor*(-0.175, 0.075)$); % front left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250,-0.100)$) rectangle + ($\Ffactor*(-0.175,-0.075)$); % front right wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250,-0.100)$) rectangle + ($\Ffactor*( 0.175,-0.075)$); % rear right wheel
\end{scope}

\begin{axis}[ ]
%
% SOME CODES
%
\end{axis}

\end{tikzpicture} %
\end{figure}
\end{document}

Из кода можно увидеть, что упомянутый tikz-draw указан первым блоком кода, а его положение задано координатой (car1). Последовательно, есть среда axis, которая имеет, в реальной реализации, некоторые графики. Мне нужно разместить tikz-draw через координату (car1) в том же месте, которое каким-то образом связано с графиками из среды axis. В настоящее время, с подходом проб и ошибок, я трачу довольно много времени, чтобы разместить tikz-draw в нужном месте.

Я подумал, что было бы возможно поместить этот блок кода, связанный с tikz-draw, внутрь среды axis и использоватьось csКоординатная рамка для установки позиции tikz-draw, как показано ниже

\begin{tikzpicture}
\begin{axis}[ ]
%
% SOME CODES
%
\pgfmathsetmacro{\Ffactor}{0.6}
\coordinate (car1) at (axis cs: 0.50,1.95);  <----------
\begin{scope} [rotate around={-25:(car1)}]
\draw[fill=yellow]     (car1) +  ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*(0.250,-0.100)$);
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*( 0.175, 0.075)$); % rear left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250, 0.100)$) rectangle + ($\Ffactor*(-0.175, 0.075)$); % front left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250,-0.100)$) rectangle + ($\Ffactor*(-0.175,-0.075)$); % front right wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250,-0.100)$) rectangle + ($\Ffactor*( 0.175,-0.075)$); % rear right wheel
\end{scope}
%
% SOME CODE
%
\end{axis}

\end{tikzpicture} %

но, к моему удивлению, это выглядит как некоторая несовместимость между осью и средой области видимости, потому что это новое решение извлекает ошибки:

Ошибка пакета pgf: неизвестна форма с именем car1. \begin{scope} [rotate around={-25:(car1)}] Ошибка пакета pgf: неизвестна форма с именем car1. \begin{scope} [rotate around={-25:(car1)}]

Поэтому мой вопрос заключается в том, как обойти эту проблему.

Спасибо.

решение1

Поместите \coordinateвнутри axis, а scopeпосле \end{axis}.

введите описание изображения здесь

\documentclass[12pt]{report}
\usepackage[portuges, brazilian]{babel} % Hiphenação em portugues
\usepackage{graphicx} % Suporte padrão para gráficos
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{grid=major,compat=1.11}

\begin{document}
\begin{figure}[!htb]
\centering
\begin{tikzpicture}
\pgfmathsetmacro{\Ffactor}{0.6}
\begin{axis}[ ]
%
\coordinate (car1) at (0.5,0.5); % axis cs is default since you have compat=1.11
\addplot coordinates {(0,0)}; % need to have something, or it doesn't work
\end{axis}

\begin{scope} [rotate around={-25:(car1)}]
\draw[fill=yellow]     (car1) +  ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*(0.250,-0.100)$);
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250, 0.100)$) rectangle + ($\Ffactor*( 0.175, 0.075)$); % rear left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250, 0.100)$) rectangle + ($\Ffactor*(-0.175, 0.075)$); % front left wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*( 0.250,-0.100)$) rectangle + ($\Ffactor*(-0.175,-0.075)$); % front right wheel
\draw[fill=black]      (car1) ++ ($\Ffactor*(-0.250,-0.100)$) rectangle + ($\Ffactor*( 0.175,-0.075)$); % rear right wheel
\end{scope}
%
\end{tikzpicture} %
\end{figure}
\end{document}

Связанный контент