Please consider the following TikZ code:
% aligning text in node: node[align=left] only in latest 2010 tikz:
% http://compgroups.net/comp.text.tex/-tikz-option-for-ragged-left-text-in-node
% or use minipage inside node: http://www.texample.net/tikz/examples/boxes-with-text-and-math/
% or also parbox: http://en.wikibooks.org/wiki/LaTeX/Advanced_Topics
%% note: parbox and minipage width 5em - will extend beyond the minimum width=5em!
% or use /tikz/text ragged:
% http://old.nabble.com/Equal-width-nodes-within-%22matrix-of-nodes%22--td15266855.html
\begin{tikzpicture}[font=\tt]
\matrix (xA) [anchor=west,text ragged]
{%
\node(xA1) [draw,right,minimum width=5em] {horizon1} ; \\
\node(xA2) [draw,right] {horiz2} ; \\
% \node(xA3) [draw,anchor=west,minimum width=5em] {\begin{minipage}{5em}hor3\end{minipage}} ; \\
\node(xA3) [draw,anchor=west,minimum width=5em] {\parbox{5em}{hor3}} ; \\
};
\matrix (yA) [below left=of xA]
{%
\node(yA1) [draw,right,rotate=270] {vert1} ; &
\node(yA2) [draw,right,rotate=270] {vert2} ; &
\node(yA3) [draw,right,rotate=270] {vert3} ; \\
};
\begin{scope}[rotate=270]
\matrix (zA) [rotate=270,below left=of yA]
{%
\node(zA1) [draw,right] {horvert1} ; \\
\node(zA2) [draw,right] {horvert2} ; \\
\node(zA3) [draw,right] {horvert3} ; \\
};
\end{scope}
\end{tikzpicture}
It generates the following image:
I would like to achieve something like the yA
case – except, I'd like the texts to go 'vert1','vert2','vert3' from right to left (opposite of what is shown) – which would correspond to the xA
graphic being rotated for 270 degrees.
So that is what I'm trying to do with the zA
case – however, as one can see, there is no rotation whatsoever!
Does this mean that a matrix of nodes cannot be rotated in TikZ? If not, how can I rotate such a matrix?
Best Answer
Ah well - I guess this is the answer, pg 487 of the pgfmanual.pdf:
... Also, from matrix nodes with sloped option? - pgf-users:
... HOWEVER ...
... matrix nodes with sloped option? - pgf-users also says:
which means that the code above can be modified like this:
... which will finally result with the originally desired image: