2010-06-05 3 views
25

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

+0

TikZ !!! Как только я начал играть с ним, я не мог остановиться! – Vivi

ответ

22

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

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

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

9

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

+5

И потерять консистенцию, а 'pgfplots' - такой хороший и не слишком сложный пакет? Это было бы позором, не так ли? :) По вашему предложению Matlab, я отредактирую свой пост. – Pieter

+0

не смог добавить комментарий в свой пост. matlab2tikz звучит здорово! – Suresh

36

Пакет: 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

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

+0

Я пробовал оба варианта. Этот пример кода компилируется, но когда я создаю PDF, я вижу пустую страницу с несколькими цифрами на ней - нет гистограммы. Должно ли dvipdfm быть в состоянии проанализировать скомпилированный файл dvi из этих двух образцов? – zvisofer

Смежные вопросы