4

I'm working on a figure containing 30 figs, 5 rows 6 cols. What I want to do is: in the begining of every row of figure i want to write some text but i want it to be written vertical not horizontal. For the columns I want to write a text and group it for each two columns, so for example on the top of column 1 & 2 write data1 which will be centered between the 2 columns. This is really difficult for me.

This figure explains what I want to do where I want to put text in the red markers

desired

This is a sample of my code:

\begin{figure*}[t]
\centering
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_no_of_levels}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_entropy}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_mean}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_no_of_levels}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_entropy}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_mean}}\\
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_no_of_levels}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_entropy}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}
\subfloat[]{\includegraphics[width=.33\linewidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}
\caption{aaa}
\label{fig:rulascore}
\end{figure*}

update:

I've updated my code "below" but nothing is appearing as shown in this pic update

code used:

\begin{figure*}
\centering
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image11) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image12) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_entropy}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image13) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image14) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_entropy}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image15) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image16) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_entropy}};
\end{tikzpicture}}\\
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image21) 
  {\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_entropy}}\hfill
\subfloat[]{\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_no_of_levels}}\hfill
\subfloat[]{\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_entropy}}\hfill
\subfloat[]{\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_no_of_levels}}\hfill
\subfloat[]{\includegraphics[trim=2cm 7cm 2cm 7cm, clip=true,width=.15\linewidth]{../Hussein/MatFiles/interference/1500/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms/x320_Sensor_Lights_On_1500mm_with_interference_distance_1100-pgms_entropy}}
\caption{aaa}
\label{fig:rulascore}
\end{figure*}

\begin{tikzpicture}[remember picture,overlay]
\node[above] at ( $ (image11.north)!0.5!(image12.north) $ ) {some text goes here};
\node[above] at ( $ (image13.north)!0.5!(image14.north) $ ) {some text goes here};
\node[above] at ( $ (image15.north)!0.5!(image16.north) $ ) {some text goes here};
\node[rotate=90,yshift=10pt] at (image11.west) {some text};
\node[rotate=90,yshift=10pt] at (image21.west) {some text};
\end{tikzpicture}
0

1 Answer 1

4

Here's one possibility using TikZ; the idea is to place each figure of the first row and of the first column inside a named node, and then to use these nodes to place the texts:

\documentclass{article}
\usepackage{subfig}
\usepackage[demo]{graphicx}
\usepackage{tikz}
\usetikzlibrary{calc}

\tikzset{
  mynode/.style={anchor=south west,inner sep=0,outer sep=0pt}}

\begin{document}

\begin{figure*}
\centering
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image11) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image12) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_entropy}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image13) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/k640_Sensor_Lights_On_1000mm-pgms/k640_Sensor_Lights_On_1000mm-pgms_mean}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image14) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image15) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_entropy}};
\end{tikzpicture}}\hfill
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image16) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x640_Sensor_Lights_On_1000mm-pgms/x640_Sensor_Lights_On_1000mm-pgms_mean}};
\end{tikzpicture}}\\
\subfloat[]{%
\begin{tikzpicture}[remember picture]
  \node[mynode] (image21) 
  {\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_no_of_levels}};
\end{tikzpicture}}\hfill
\subfloat[]{\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_entropy}}\hfill
\subfloat[]{\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}\hfill
\subfloat[]{\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}\hfill
\subfloat[]{\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}\hfill
\subfloat[]{\includegraphics[width=.15\textwidth]{../Hussein/MatFiles/Lights/x320_Sensor_Lights_On_1000mm-pgms/x320_Sensor_Lights_On_1000mm-pgms_mean}}
\caption{aaa}
\label{fig:rulascore}
\end{figure*}

\begin{tikzpicture}[remember picture,overlay]
\node[above] at ( $ (image11.north)!0.5!(image12.north) $ ) {some text goes here};
\node[above] at ( $ (image13.north)!0.5!(image14.north) $ ) {some text goes here};
\node[above] at ( $ (image15.north)!0.5!(image16.north) $ ) {some text goes here};
\node[rotate=90,yshift=10pt] at (image11.west) {some text};
\node[rotate=90,yshift=10pt] at (image21.west) {some text};
\end{tikzpicture}

\end{document}

enter image description here

The demo option for graphicx simply replaces actual figures with black rectangles; do not use that option in your actual document.

Not directly related to the question, but your images were too wide for the text area width (or are you perhaps using writing a two-column document?); in any case, I changed the width from 0.33\linewidth to 0.15\textwidth and used \hfill to evenly separate the figures in each row (of course, you can revert these changes). Also, the option [t] for figure might be too restrictive; I suppressed it from my example.

4
  • I've tried it but nothing appearing. I've updated the question with the code i used and a pic explaining the results.
    – Tak
    Commented Apr 13, 2013 at 6:03
  • @user1460166 Are you getting any error messages at all? (I suppose it's possible graphicx isn't installed.) Commented Apr 13, 2013 at 9:29
  • Just an update from chat - this code works for me. Commented Apr 13, 2013 at 10:00
  • Another update: move the second tikz picture back inside the figure environment so it floats with everything else (things can get weird) Commented Apr 13, 2013 at 10:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .