Necesita ayuda para dibujar el siguiente gráfico de barras apiladas

Necesita ayuda para dibujar el siguiente gráfico de barras apiladas

Quiero tu ayuda para dibujar la siguiente figura. Creo que se llama gráfico de barras apiladas. ingrese la descripción de la imagen aquí

Respuesta1

Este tipo de gráfico es fácil de producir con el pgfplotspaquete. Vea a continuación un ejemplo. Para obtener más detalles sobre ybar stackedlos gráficos, consulte la página 77 delmanual de diagramas de pgf.

También deberías considerar transformar tu ybar stackedgráfica en una xbar stackedgráfica (consulta la página 78 de lamanual de diagramas de pgf); esos tienden a ser más fáciles de analizar.

EDITAR: Me he adaptado descaradamenteLa respuesta muy detallada de Jake.aNodos centrales cerca de coordenadas en un gráfico de barras apiladaspara agregar valores en las barras:

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{pgfplots}

\pgfplotstableread{
1   15  12  03  24  16  19
2   15  12  03  24  16  19
3   15  12  03  24  16  19
4   15  12  03  24  16  19
5   15  12  03  24  16  19
6   15  12  03  24  16  19  
}\datatable

\makeatletter
\pgfplotsset{
    calculate offset/.code={
        \pgfkeys{/pgf/fpu=true,/pgf/fpu/output format=fixed}
        \pgfmathsetmacro\testmacro{%
            (\pgfplotspointmeta*10^\pgfplots@data@scale@trafo@EXPONENT@y)%
            /2*\pgfplots@y@veclength)%
        }
        \pgfkeys{/pgf/fpu=false}
        },
    nodes near coords vertically centered/.style={
        every node near coord/.append style={
            /pgfplots/calculate offset,
            yshift=-\testmacro
        },
        nodes near coords align=center
    }
}
\makeatother

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    ybar stacked,%
    bar width=15pt,%
    legend style={%
        at={(0,0)},%
        anchor=west,%
        at={(axis description cs:1.05,+0.5)}},%
    reverse legend,%
    xtick={1,2,...,6},%
    xticklabels={1,2,3,4,5,6},%
    enlarge x limits=0.1,%
    enlarge y limits=false,%
    ymin=0,%
    ymax=100.01,%
    ytick={0,10,...,100},%
    yticklabels={0\%,10\%,20\%,30\%,40\%,50\%,60\%,70\%,80\%,90\%,100\%},%
    xlabel={\textbf{Company}},%
    ylabel={\textbf{\% Distribution of efforts}},%
    point meta=explicit,
    nodes near coords={\pgfmathprintnumber[fixed zerofill,precision=1]{\pgfplotspointmeta}
    },
    every node near coord/.style={%
        check for zero/.code={ %
            \pgfmathfloatifflags{\pgfplotspointmeta}{0}{%
                \pgfkeys{/tikz/coordinate}%
            }{}%
        },%
        check for zero,%
        fill=white,%
        fill opacity=0.75,%
        text opacity=1,%
        font=\scriptsize,%
        inner ysep=0.5pt,%
    },%
    nodes near coords vertically centered,%
]
\addplot table [y=1, meta=1] \datatable;
\addlegendentry{A}
\addplot table [y=2, meta=2] \datatable;
\addlegendentry{B}
\addplot table [y=3, meta=3] \datatable;
\addlegendentry{C}
\addplot table [y=4, meta=4] \datatable;
\addlegendentry{D}
\addplot table [y=5, meta=5] \datatable;
\addlegendentry{E}
\addplot table [y=6, meta=6] \datatable;
\addlegendentry{F}
\end{axis}
\end{tikzpicture}
\end{document}

información relacionada