Barplots dengan Tikz dan PGFPLOTS

Aug 17 2020

Saya baru mengenal LaTeX. Saya mencoba membuat plot bar dengan kelas dokumen beamer. Inilah yang saya butuhkan:

Inilah yang saya dapatkan di LaTeX:

Silakan lihat di bawah untuk MWE:

Inilah pertanyaan saya:

  1. Bagaimana saya bisa meniru grafik di atas, serupa dengan tampilan di LaTeX? Saya suka mempertahankan tanda tik dan batas luar. Saya lebih tertarik pada label sumbu X dan pemisahan batang.
  2. Bagaimana cara menyesuaikan lebar grafik dengan rasio aspek yang mirip hanya dengan grafik ini (karena saya memiliki beberapa grafik, saya tidak ingin memberikan opsi global) dan juga lebar batang untuk grafik di atas?
\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}

Jawaban

1 Ross Aug 18 2020 at 02:37

Selamat datang di TeX.SE. Berikut ini: PGFPLOTS - Buat plot batang dengan batang dalam berbagai warna . Lihat kode untuk berbagai perubahan.

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