Barplots con Tikz y PGFPLOTS

Aug 17 2020

Soy nuevo en LaTeX. Estoy tratando de crear un diagrama de barras con la clase de documento beamer. Esto es lo que necesito:

Esto es lo que obtengo en LaTeX:

Consulte a continuación para MWE:

Aquí están mis preguntas:

  1. ¿Cómo puedo replicar el gráfico anterior, con un aspecto similar en LaTeX? Me gusta conservar las marcas tik y los bordes exteriores. Me interesa más la etiqueta del eje X y la separación de las barras.
  2. ¿Cómo ajusto el ancho del gráfico con una relación de aspecto similar solo a este gráfico (como tengo varios gráficos, no quiero dar opciones globales) y también el ancho de la barra al gráfico de arriba?
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\usetheme{Boadilla}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}


\begin{document}
    
    \begin{frame}
        \begin{figure}
                \centering
            \begin{tikzpicture}
                \begin{axis}[ybar=25pt,ymin=0,ymax=150,]
                
                    \addplot[ybar,fill=blue, area legend] coordinates {(Rat,40)};
                    \addplot[ybar,fill=red, area legend] coordinates {(Hippopotamus,146)};
                
                \end{axis}
            \end{tikzpicture}
        \end{figure}
    \end{frame}

\end{document}

Respuestas

1 Ross Aug 18 2020 at 02:37

Bienvenido a TeX.SE. Esto sigue: PGFPLOTS : crea un diagrama de barras con barras en diferentes colores . Consulte el código para conocer los distintos cambios.

\documentclass{beamer}
\setbeamertemplate{navigation symbols}{}
\usetheme{Boadilla}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}

\begin{document}

\begin{frame}
  \begin{figure}
  \centering
    \begin{tikzpicture}
       \begin{axis}[
         ybar,
         xmin=0.5,xmax=2.5, %<-- added
         ymin=0,
         ymax=150,
         area legend,
         xtick={1,2}, % <-- added
         xticklabels={Rat,Hippopotamus}, % <-- added
         every axis plot/.append style={ % <-- added
          bar width=.5,
          bar shift=0pt,
          fill} 
         ]
         \addplot[fill=blue] coordinates {(1,40)};
         \addplot[fill=red] coordinates {(2,146)};
       \end{axis}
    \end{tikzpicture}
  \end{figure}
\end{frame}

\end{document}