如何在 TikZ 中用虛線而不是實線繪製立方體(3D 圖)?

如何在 TikZ 中用虛線而不是實線繪製立方體(3D 圖)?

立方體圖(或 3D 圖)以及外部影像如下所示(其程式碼為這裡)。我嘗試在該圖中使用虛線而不是實線。我已經檢查過這些鏈接,連結2,連結3, 和連結4,但我需要幫助來解決這個問題。

\documentclass{standalone}
\usepackage{pgfplots}
\usetikzlibrary{3d,calc}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
enlargelimits=false,
axis on top,
axis equal image,
xmin=0,xmax=4,
ymin=-1,ymax=1,
zmin=-1,zmax=1,
ylabel=$X$,zlabel=$Y$, %xlabel=$Z$,
view={-20}{30},
xtick={0, 4},
ticks = none,
clip = false,
]

\draw [black,dashed] 
(axis cs:?) -- (axis cs:?)  % ???
(axis cs:?) -- (axis cs:?);

\path (axis cs:0,0,0) coordinate (O) (axis cs:1,0,0) coordinate (X)  
(axis cs:0,1,0) coordinate (Y) (axis cs:0,0,1) coordinate (Z)
 (axis cs:4,0,0) coordinate (P)  
 [x={($(O)-(X)$)},y={($(O)-(Y)$)},z={($(Z)-(O)$)},
    canvas is yz plane at x=0,transform shape]
   (P) node{\includegraphics[width=2cm,height=2cm]{example-image-duck}};


\path (axis cs:0,0,0) coordinate (O) (axis cs:1,0,0) coordinate (X)  
(axis cs:0,1,0) coordinate (Y) (axis cs:0,0,1) coordinate (Z)
 (axis cs:0,0,0) coordinate (P)  
 [x={($(O)-(X)$)},y={($(O)-(Y)$)},z={($(Z)-(O)$)},
    canvas is yz plane at x=0,transform shape]
   (P) node{\includegraphics[width=2cm,height=2cm]{example-image-duck}};


%\draw[black, <->] ([xshift =-0.09cm] axis description cs:0, 0.2) -- node[left] {} ([xshift =-0.1cm] axis description cs:0, 0.66) node[font=\scriptsize, midway, left=-1mm] {\fontsize{6.5}{6.5}\selectfont$y$};
%\draw[black, <->] ([xshift =-.14cm] axis description cs:0.01, 0.19) -- node[left] {} ([xshift =-.39cm] axis description cs:0.35,- 0.01)node[font=\scriptsize, midway,below] {\fontsize{6.5}{6.5}\selectfont$x$};

\end{axis}
\end{tikzpicture}

\end{document}

在此輸入影像描述

答案1

我不太清楚你想做什麼,或者你嘗試過的任何方法都沒有奏效,但也許是這樣的......

鴨子前後的虛線

不過,這個答案中的立方體為零。

\documentclass{standalone}
% ateb: https://tex.stackexchange.com/a/705675/ addaswyd o ateb user194703: https://tex.stackexchange.com/a/516994/
\usepackage{pgfplots}
\usetikzlibrary{3d,calc}
\begin{document}
\pgfplotsset{%
  every axis/.append style={%
    draw=lightgray
  },
}%
\begin{tikzpicture}
  \begin{axis}[
      enlargelimits=false,
      axis equal image,
      xmin=0,xmax=4,
      ymin=-1,ymax=1,
      zmin=-1,zmax=1,
      xlabel=$x$,ylabel=$y$,zlabel=$z$,
      view={-20}{30},
      xtick={0, 3},
    ]
    \draw [red,dashed] 
      (axis cs:0,1,1) -- (axis cs:4,1,1) 
      (axis cs:0,1,-1) -- (axis cs:4,1,-1);
    \path (axis cs:0,0,0) coordinate (O) (axis cs:1,0,0) coordinate (X)  
    (axis cs:0,1,0) coordinate (Y) (axis cs:0,0,1) coordinate (Z)
    (axis cs:3,0,0) coordinate (P)  
    [x={($(X)-(O)$)},y={($(Y)-(O)$)},z={($(Z)-(O)$)},
    canvas is yz plane at x=0,transform shape]
    (P) node{\includegraphics[width=2cm,height=2cm]{example-image-duck}};
    \draw [red,densely dashed] 
      (axis cs:0,-1,1) -- (axis cs:4,-1,1) 
      (axis cs:0,-1,-1) -- (axis cs:4,-1,-1);
  \end{axis}
\end{tikzpicture}
\end{document}

相關內容