Barplots con Tikz e PGFPLOTS

Aug 17 2020

Sono nuovo su LaTeX. Sto cercando di creare un grafico a barre con la classe del documento beamer. Ecco di cosa ho bisogno:

Ecco cosa ottengo in LaTeX:

Vedi sotto per MWE:

Ecco le mie domande:

  1. Come posso replicare il grafico sopra, simile in LaTeX? Mi piace mantenere i marchi tik e i bordi esterni. Sono più interessato all'etichetta dell'asse X e alla separazione delle barre.
  2. Come faccio a regolare la larghezza del grafico con proporzioni simili solo a questo grafico (poiché ho diversi grafici, non voglio fornire opzioni globali) e anche la larghezza della barra al grafico sopra?
\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}

Risposte

1 Ross Aug 18 2020 at 02:37

Benvenuto in TeX.SE. Segue: PGFPLOTS - Crea grafico a barre con barre di diversi colori . Vedere il codice per le varie modifiche.

\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}