Маркировка субфлотов

Маркировка субфлотов

Я работаю над рисунком, содержащим 30 фиг, 5 строк 6 столбцов. Что я хочу сделать: в начале каждого ряда рисунка я хочу написать текст, но я хочу, чтобы он был написан вертикально, а не горизонтально. Для столбцов я хочу написать текст и сгруппировать его для каждых двух столбцов, так, например, в верхней части столбцов 1 и 2 написать data1, который будет центрирован между 2 столбцами. Это действительно сложно для меня.

На этом рисунке показано, что я хочу сделать, чтобы разместить текст в красных маркерах.

желанный

Вот пример моего кода:

\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*}

обновлять:

Я обновил свой код «ниже», но ничего не отображается так, как показано на этой картинке.обновлять

Использованный код:

\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}

решение1

Вот одна из возможностей использованияTikZ; идея состоит в том, чтобы поместить каждую фигуру первой строки и первого столбца внутрь именованного узла, а затем использовать эти узлы для размещения текстов:

\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}

введите описание изображения здесь

Параметр demoпросто graphicxзаменяет реальные фигуры черными прямоугольниками;нетиспользуйте эту опцию в вашем реальном документе.

Не имеет прямого отношения к вопросу, но ваши изображения были слишком широкими для ширины текстовой области (или вы, возможно, используете написание двухколоночного документа?); в любом случае, я изменил ширину с на 0.33\linewidthи 0.15\textwidthиспользовал \hfillдля равномерного разделения цифр в каждой строке (конечно, вы можете отменить эти изменения). Кроме того, опция [t]для figureможет быть слишком ограничительной; я исключил ее из своего примера.

Связанный контент