tikz-pgf でデータの範囲を選択するにはどうすればよいですか?

tikz-pgf でデータの範囲を選択するにはどうすればよいですか?

これは、積み上げ棒グラフを作成するために使用したいテーブルのサブセットです。

ここに画像の説明を入力してください

最初の 2 行に列 A から F を選択し、他の行に列 G を選択して積み上げ棒グラフを作成することは可能ですか?

これは私の MWE です:

\begin{tikzpicture}
\pgfplotstableread{ % Read the data into a table macro
Label A B C D E F G
Yes 0.24    0.92    0.52    0.96    0.52    0.24 nan
No 0.76 0.08    0.48    0.04    0.48    0.76 nan
High nan nan nan nan nan nan 0.08
Medium nan nan nan nan nan nan 0.4
Low nan nan nan nan nan nan 0.52
}\datatable

\pgfplotstabletranspose[string type, colnames from=Label, input colnames to=Label]\datatabletransposed{\datatable}

\begin{axis}[
    xbar stacked, % Stacked horizontal bars
    xmin=0, % Start x axis at 0
    ytick=data, % Use as many tick labels as y coordinates
    yticklabels from table={\datatabletransposed}{Label}, % Get the labels from the Label column of the \datatable
    legend style={at={(0,0)}, anchor=north east,at={(axis description cs:0,-0.1)}}]
]
\addplot [fill=green!70!blue] table [x=Yes, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=red!70!white] table [x=No, y expr=\coordindex] {\datatabletransposed};
\legend{Yes, No}
\end{axis}
\end{tikzpicture}

答え1

少なくとも積み上げ棒グラフの場合、欠損データに nan または NaN を使用することはお勧めできません。

\documentclass[multi=tikzpicture]{standalone}
\usepackage{pgfplots,pgfplotstable}
\begin{document}


\pgfplotstableread{% Read the data into a table macro
Label A B C D E F G
Yes 0.24    0.92    0.52    0.96    0.52    0.24 0
No 0.76 0.08    0.48    0.04    0.48    0.76 0
High 0 0 0 0 0 0 0.08
Medium 0 0 0 0 0 0 0.4
Low 0 0 0 0 0 0 0.52
}\datatable

\pgfplotstabletranspose[string type, colnames from=Label, input colnames to=Label]\datatabletransposed{\datatable}

%\begin{tikzpicture}
%\node{\pgfplotstabletypeset[string type]\datatabletransposed};
%\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[
    xbar stacked, % Stacked horizontal bars
    xmin=0, % Start x axis at 0
    ytick=data, % Use as many tick labels as y coordinates
    yticklabels from table={\datatabletransposed}{Label}, % Get the labels from the Label column of the \datatable
    legend style={at={(0,0)}, anchor=north east,at={(axis description cs:0,-0.1)}}]
\addplot [fill=green!70!blue] table [x=Yes, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=red!70!white] table [x=No, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=green!70!blue] table [x=High, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=red!70!white] table [x=Medium, y expr=\coordindex] {\datatabletransposed};
\addplot [fill=yellow] table [x=Low, y expr=\coordindex] {\datatabletransposed};
\legend{Yes, No}
\end{axis}
\end{tikzpicture}

\end{document} 

デモ

関連情報