If you read the KOMA-script manual page 128, this behaviour is documented:
Note that these options change only the formatting, not the actual position of the caption. Whether the caption is placed above or below a float depends solely upon where you use the \caption command inside float environment. However, this can change when using the float package with the \restylefloats command (see [Lin01]).
To have a float (as you have) be typeset with the caption above the figure, you need to place the caption inside the float, but above the line that inputs the figure. caption=heading
provides the formatting, i.e. that you have sufficient space below the caption.
When this is not possible, you may try not to use floats, and use
\captionaboveof{float type}[entry]{title}
See the KOMA-manual page 132, or you can try the float-package and its \restylefloat
command.
\floatstyle{plaintop}
\restylefloat{figure}
If you prefer KOMA-features (and you probably are), use
\floatstyle{komaabove}
\restylefloat{figure}
When using this commands (and scrhack) the usual KOMA-script commands for font attributes, spacing etc. works, and all the figures end up in list of figure, if you have such listing in your document. Complete MWE (loads scrhack
as recommended in the manual:
\documentclass[captions=heading]{scrartcl}
\usepackage[demo]{graphicx}
\usepackage{float, scrhack} : KOMA-manual page 128
\floatstyle{komaabove}
\restylefloat{figure}
\begin{document}
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{image}
\caption{First caption (caption command below the figure)}
\end{figure}
\begin{figure}
\centering
\caption{Second caption (caption command above the figure)}
\includegraphics[width=0.7\linewidth]{image}
\end{figure}
\end{document}
\includegraphics
-command