如何在 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}

相关内容