![Маркировка субфлотов](https://rvso.com/image/266411/%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D1%81%D1%83%D0%B1%D1%84%D0%BB%D0%BE%D1%82%D0%BE%D0%B2.png)
Я работаю над рисунком, содержащим 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
может быть слишком ограничительной; я исключил ее из своего примера.