Подтвердить что ты не робот

Лучший способ рисовать гистограмму в LaTeX?

Я искал его здесь, в Stack Overflow, как в Google, и я нашел много пакетов для рисования, но это кажется сложной задачей, поэтому я хотел бы знать, какой из них наиболее подходящий для рисования баров, и ассоциировать данные с ним. Также я искал пример кода, но мне не повезло.

4b9b3361

Ответ 1

Это похоже на легкую работу для пакета pgfplots. Раздел 4.5 из руководства содержит множество примеров для начала, все объясняется с нуля и шаг за шагом. Если вам нужны более pgfplots примеры, раздел, посвященный графикам в TeXample, может представлять интерес. Нет никаких графиков, но в нем содержатся интересные (и более сложные) примеры функциональности.

Что касается примера кода, я мог бы скопировать и вставить его из руководства, но это не добавило бы большого значения этому сообщению, которое я считаю.

Изменить: при использовании Matlab можно использовать matlab2tikz. Таким образом, вы можете экспортировать свои участки, не беспокоясь о реальном коде. Барные диаграммы должны быть возможны, но я еще не использовал эту функциональность, поэтому я не знаю ни о каких причудах. Графики, которые я делал с использованием этого Matlab script, были идеальными, и вы получаете согласованность и гибкость, которые вы хотите:).

Ответ 2

Пакет: bchart

Пример кода:

\documentclass[varwidth=true, border=2pt]{standalone}

\usepackage{bchart}

\begin{document}
    \begin{bchart}[step=2,max=10]
        \bcbar{3.4}
            \smallskip
        \bcbar{5.6}
            \medskip
        \bcbar{7.2}
            \bigskip
        \bcbar{9.9}
    \end{bchart}
\end{document}

Результат:

bchart example

Пакет: pgfplots

Пример кода:

% Source: https://tex.stackexchange.com/a/8584/5645
\documentclass[varwidth=true, border=2pt]{standalone}

\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            symbolic x coords={a small bar, a medium bar, a large bar},
            xtick=data
          ]
            \addplot[ybar,fill=blue] coordinates {
                (a small bar,   42)
                (a medium bar,  50)
                (a large bar,   80)
            };
        \end{axis}
    \end{tikzpicture}
\end{document}

Результат:

pgfplots

Я планирую добавить еще несколько примеров в мой репозиторий GitHub. Вы также можете быть заинтересованы в теге tex.stackexchange.com: bar-chart.

Ответ 3

Это можно рассматривать как святотатство, но на самом деле не так страшно создавать сюжет с использованием matlab, excel или любого другого инструмента и просто включать PDF/jpg in. pgfplots - более элегантный вариант, но может и не быть быстрый.