[Tex/LaTex] How to add a single axis label to multiple graphs

graphs

Please I need someone to help me address this problem.

I have three graphs that I created using excel and I have been able to save them as eps files. I've been able to use the \raisebox command to arrange the graphs in the order I want but adding the axis title has being a big problem for me. Please find attached a picture showing what I need to achieve. I have also included a working extract of my code.

Task

\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\newsubfloat{figure}
\begin{document}
\begin{figure}[htb]
  \centering
  \raisebox{\dimexpr-.5\height-1em}{\includegraphics[scale=0.4]{Figures/knockho1.eps}}\ \subfloat[\label{label1}]{} \\[\topskip]
  \raisebox{\dimexpr-.5\height-1em}{\includegraphics[scale=0.4]{Figures/knockho2.eps}}\ \subfloat[\label{label2}]{}
  \caption{This is the text that describes \protect\subref{label1} and \protect\subref{label2}.}
\end{figure}
\end{document}

Best Answer

One way to do this would be to define a minipage to contain the y-axis, and simply place the text for the x-axis with an appropriate \hspace*{} preceding it.

enter image description here

Code:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subfig}
\usepackage{xcolor}

\newsubfloat{figure}
\begin{document}
\begin{figure}[htb]
\begin{minipage}{0.5cm}
\rotatebox{90}{\textcolor{red}{$y$-axis label}}
\end{minipage}%
\begin{minipage}{\dimexpr\linewidth-2.50cm\relax}%
  \raisebox{\dimexpr-.5\height-1em}{\includegraphics[scale=0.4]{Figures/knockho1.eps}}\ \subfloat[\label{label1}]{} \\[\topskip]
  \raisebox{\dimexpr-.5\height-1em}{\includegraphics[scale=0.4]{Figures/knockho2.eps}}\ \subfloat[\label{label2}]{}
  
  \vspace*{0.1cm}\hspace*{2.0cm}\textcolor{red}{$x$-axis label}
  \caption{This is the text that describes \protect\subref{label1} and \protect\subref{label2}.}
\end{minipage}%
\end{figure}
\end{document}
Related Question