Барплоты с Tikz и PGFPLOTS

Aug 17 2020

Я новичок в LaTeX. Я пытаюсь создать стержневой график с классом документа beamer. Вот что мне нужно:

Вот что я получаю в LaTeX:

См. Ниже для MWE:

Вот мои вопросы:

  1. Как я могу воспроизвести диаграмму выше, похожую на LaTeX? Мне нравится сохранять тик-метки и внешние границы. Меня больше интересует метка оси X и разделение полосок.
  2. Как мне настроить ширину диаграммы с таким же соотношением сторон только для этой диаграммы (поскольку у меня есть несколько диаграмм, я не хочу указывать глобальные параметры), а также ширину полосы для диаграммы выше?
\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}

Ответы

1 Ross Aug 18 2020 at 02:37

Добро пожаловать в TeX.SE. Далее следует: PGFPLOTS - Создать столбчатый график с полосами разного цвета . Смотрите код для различных изменений.

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