Agregar etiquetas a barras en el histograma

Agregar etiquetas a barras en el histograma

Este es el código que tengo actualmente para generar el siguiente histograma:

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}

\begin{axis}[
    ybar,
    ymin=0,
    xlabel={Classes},
    ylabel={Frequency},
    width=10cm,
    height=6cm,
    xtick=data,
    xticklabels={A, B, C, D}, % Add more labels as needed
    enlarge x limits=0.15,
    nodes near coords, % Add labels above each bar
    nodes near coords align={vertical},
    nodes near coords style={font=\tiny},
    ]
    ]
    
    \addplot[fill=blue!30] coordinates {(1, 15) (2, 12) (3, 8) (4, 10) };

    \addplot[fill=green!30] coordinates {(1, 14) (2, 11) (3, 13) (4, 9) };

\end{axis}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

En lugar de eso, quiero que el gráfico se vea así con las clasificaciones en la parte superior de las barras. ingrese la descripción de la imagen aquí

Respuesta1

Bien, aquí tienes una forma de hacerlo. Llaves:

  • agregar point meta=explicit symbolica cada\addplot
  • agregue los valores/texto que desee después de cada coordenada en[ ]

Consulte el manual de pgfplots, cap. 4, pág. 114, Versión 1.18.1 para más detalles.

resultado

%\documentclass{article}
\documentclass[10pt,border=3mm,tikz]{standalone}    % nicer for development
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}

\begin{axis}[
    ybar,
    ymin=0,
    xlabel={Classes},
    ylabel={Frequency},
    width=10cm,
    height=6cm,
    xtick=data,
    xticklabels={A, B, C, D}, % Add more labels as needed
    enlarge x limits=0.15,
    nodes near coords, % Add labels above each bar
    nodes near coords align={vertical},
    nodes near coords style={font=\tiny},
    ]
    ]
    
    \addplot[fill=blue!30,
             point meta=explicit symbolic
    ] coordinates {
        (1, 15) [1]
        (2, 12) [2]
        (3, 8)  [4]
        (4, 10) [3]
    };

    \addplot[fill=green!30,
             point meta=explicit symbolic
    ] coordinates {
        (1, 14) [1]
        (2, 11) [3]
        (3, 13) [2]
        (4, 9)  [4]
        };

\end{axis}
\end{tikzpicture}
\end{document}

información relacionada