This is what I got after playing around with the tikz-3dplot package (I'm tired, so my code shows a bit of brute force lazyness):
\documentclass{article}
\usepackage[]{tikz}
\usepackage[]{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{110} %set the viewing angle
\begin{tikzpicture}[tdplot_main_coords,every node/.style={font=\tiny,outer sep=0pt,inner sep=2pt},scale=1.3]
%front
\draw[thick](0,0,0)--++(0,2,0)--++(0,0,2)--++(0,-2,0)--cycle;
\draw[] (0,0,0)--++(0,1,0)--++(0,0,1)--++(0,-1,0)--cycle;
\draw[] (0,1,1)--++(0,1,0)--++(0,0,1)--++(0,-1,0)--cycle;
%side
\draw[thick]( 0,2,0)--++(-2,0,0)--++(0,0,2)--++(2,0,0)--cycle;
\draw[] ( 0,2,0)--++(-1,0,0)--++(0,0,1)--++(1,0,0)--cycle;
\draw[] (-1,2,1)--++(-1,0,0)--++(0,0,1)--++(1,0,0)--cycle;
%top
\draw[thick]( 0,0,2)--++(0,2,0)--++(-2,0,0)--++(0,-2,0)--cycle;
\draw[] ( 0,0,2)--++(0,1,0)--++(-1,0,0)--++(0,-1,0)--cycle;
\draw[] (-1,1,2)--++(0,1,0)--++(-1,0,0)--++(0,-1,0)--cycle;
\def\A{1}
\def\B{1}
\draw(-0.1,0,2)++(0,-\A,0)--node[above,sloped,at start]{Los Angeles}++(0,-\B,0)--++(-1.8,0,0)--node[below,sloped]{New York}++(0,\B,0)coordinate(NY);
\draw(-1,-\A-\B,2)--node[left,sloped,at end]{\bf location}++(0,-0.3,0);
\draw(0,0,0.1)++(0,-\A,0)--node[above,sloped,near start]{Tennis racquets}++(0,-\B,0)--++(0,0,1.8)--node[below,sloped,at end]{Soccer balls}++(0,\B,0);
\draw(0,-\A-\B,1)--node[left,near end,sloped]{\bf product}++(0,-0.3,0);
\def\B{1.3}
\def\A{1.2}
\draw(\A,0.1,0)--node[below,sloped,at start]{January}++(\B,0,0)--++(0,1.8,0)--node[above,sloped,near end]{February}++(-\B,0,0); \draw(\A+\B,1,0)--++(0.3,0,0)coordinate(SD);
\draw[draw=none](SD)--node[sloped,below]{\bf Shipping Date}++(0,0.1,0);
\end{tikzpicture}
\end{document}

Text Readability
Ok this example hasn't got any sloped text:
\documentclass{article}
\usepackage[]{tikz}
\usepackage[]{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{76}{103}
\begin{tikzpicture}[tdplot_main_coords,every node/.style={font=\tiny,outer sep=0pt,inner sep=2pt},scale=1.3]
%front
\draw[thick](0,0,0)--++(0,2,0)--++(0,0,2)--++(0,-2,0)--cycle;
\draw[] (0,0,0)--++(0,1,0)--++(0,0,1)--++(0,-1,0)--cycle;
\draw[] (0,1,1)--++(0,1,0)--++(0,0,1)--++(0,-1,0)--cycle;
%side
\draw[thick]( 0,2,0)--++(-2,0,0)--++(0,0,2)--++(2,0,0)--cycle;
\draw[] ( 0,2,0)--++(-1,0,0)--++(0,0,1)--++(1,0,0)--cycle;
\draw[] (-1,2,1)--++(-1,0,0)--++(0,0,1)--++(1,0,0)--cycle;
%top
\draw[thick]( 0,0,2)--++(0,2,0)--++(-2,0,0)--++(0,-2,0)--cycle;
\draw[] ( 0,0,2)--++(0,1,0)--++(-1,0,0)--++(0,-1,0)--cycle;
\draw[] (-1,1,2)--++(0,1,0)--++(-1,0,0)--++(0,-1,0)--cycle;
\def\A{0.5}
\def\B{1.3}
\draw(-0.1,0,2)++(0,-\A,0)--node[above,near start]{Los Angeles}++(0,-\B,0)--++(-1.8,0,0)--node[below,near end]{New York}++(0,\B,0)coordinate(NY);
\draw(-1,-\A-\B,2)--++(0,-0.3,0)node[left,anchor=south east]{\bf location};
\draw(0,0,0.1)++(0,-\A,0)--node[above,near start]{Tennis racquets}++(0,-\B,0)--++(0,0,1.8)--node[below,near end]{Soccer balls}++(0,\B,0);
\draw(0,-\A-\B,1)--++(0,-0.3,0)node[left,anchor=east]{\bf product};
\def\B{1.3}
\def\A{1.2}
\draw(\A,0.1,0)--node[right,near start]{January}++(\B,0,0)--++(0,1.8,0)--node[left,near end]{February}++(-\B,0,0);
\draw(\A+\B,1,0)--++(0.3,0,0)node[below left]{\bf Shipping Date};
\end{tikzpicture}
\end{document}

tikz-3dplotpackage! It adds another dimension to the tikz drawings and calculates the projection based on the angle of view. I use it myself to do about every drawing I need! – romeovs Jun 09 '11 at 21:57