I would like to sort stacked bar chart in descending order after stacking up all numbers. In other words, I want to sort according to total height. I am aware of \pgfplotstablesort but in my case there are multiple columns, that is, Proc1 and Proc2. So I cannot use [sort key] option until all numbers are stacked up. How can I do it?
Tex file:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread[col sep=comma]{
Function,Proc1,Proc2
Add,1,2
Sub,3,4
Div,2,3
}{\data}
\begin{tikzpicture}
\begin{axis}[
cycle list=Dark2,
ybar stacked,
ymin=0,
xtick=data,
xtick pos=left,
ytick pos=left,
axis lines=left,
xticklabels from table={\data}{Function},
x tick label style={rotate=45, anchor=north east, inner sep=0mm},
ylabel=Elapsed seconds,
xlabel=Function,
legend pos=outer north east,
legend style={draw=none},
enlarge x limits=0.1,
]
\pgfplotstablegetcolsof{\data}
\pgfmathtruncatemacro\numberofcols{\pgfplotsretval-1}
\foreach \i in {1,...,\numberofcols} {
\addplot+ [draw opacity=0] table [y index=\i, x expr=\coordindex] {\data};
}
\end{axis}
\end{tikzpicture}
\end{document}

Proc1,Proc2, ...,ProcN? How can I sum them in a loop? – Shibli Apr 26 '18 at 11:39