Как нарисовать график в LaTeX?

Прежде всего, позвольте мне сказать, что я использую LyX, хотя у меня нет проблем с использованием ERT.

Во-вторых, как проще всего нарисовать такой простой график в латексе? alt text

Я видел несколько документов с графиками и видел несколько примеров, но я не мог понять, как просто нарисовать простой график - какие пакеты мне нужны и т. Д.?


person Amir Rachum    schedule 06.06.2010    source источник
comment
tex.stackexchange.com/questions/ 57152 /   -  person chb    schedule 13.12.2017


Ответы (5)


TikZ может это сделать.

Быстрая демонстрация:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  [scale=.8,auto=left,every node/.style={circle,fill=blue!20}]
  \node (n6) at (1,10) {6};
  \node (n4) at (4,8)  {4};
  \node (n5) at (8,9)  {5};
  \node (n1) at (11,8) {1};
  \node (n2) at (9,6)  {2};
  \node (n3) at (5,5)  {3};

  \foreach \from/\to in {n6/n4,n4/n5,n5/n1,n1/n2,n2/n5,n2/n3,n3/n4}
    \draw (\from) -- (\to);

\end{tikzpicture}

\end{document}

производит:

введите описание изображения здесь

Дополнительные примеры @ http://www.texample.net/tikz/examples/tag/graphs/

Дополнительная информация о TikZ: http://sourceforge.net/projects/pgf/, где я предполагаю установку гид также будет присутствовать.

person Bart Kiers    schedule 06.06.2010
comment
В частности, может быть особенно полезен пакет tkz-berge. - person Alex R; 08.03.2011
comment
@Alex, отличная ссылка! (хотя он находится внизу ссылки More examples, которую я уже разместил :)) - person Bart Kiers; 08.03.2011
comment
Возвращаясь к этому вопросу - нужно ли указывать координаты? Сможет ли он как-нибудь справиться с собой? - person Amir Rachum; 04.06.2011
comment
Кроме того, как я могу добавить направленные ребра с обозначениями на них? - person Amir Rachum; 04.06.2011
comment
@Amir Rachum, страница примеров, опубликованная в моем исходном ответе, показывает граф, включающий ребра (см. Пример: сеть Петри для Хагена). Можно ли сделать автоматический макет, как это делает Graphviz, я не знаю. - person Bart Kiers; 05.06.2011

Помимо (отличного) предложения использовать TikZ, вы можете использовать gastex. . Я использовал это до того, как TikZ был доступен, и он тоже выполнял свою работу.

person Pieter    schedule 06.06.2010

Возможно, используйте tikz.

person unutbu    schedule 06.06.2010
comment
Каким-либо образом вы можете помочь мне установить этот пакет? - person Amir Rachum; 06.06.2010
comment
@Amir Перейдите на страницу загрузки sourceforge, чтобы получить пакет, затем прочтите инструкции - они довольно просты. - person zdav; 06.06.2010
comment
@Amir: Как установить пакет, зависит от вашей ОС. В Ubuntu tikz предоставляется пакетом pgf. Так что все, что нужно сделать, это sudo apt-get install pgf. - person unutbu; 06.06.2010
comment
В Windows мне ничего не нужно было делать. Как только у меня в преамбуле был \ usepackage {tikz}, все остальное сделал miktex. То же самое и с Mac. Ничего не надо было делать, оставалось только позвонить в посылку. - person Vivi; 07.06.2010

Я использовал graphviz (https://www.graphviz.org/gallery) вместе с LaTeX, используя точку команда для создания графиков в формате PDF и includegraphics для их включения.

Если graphviz производит то, к чему вы стремитесь, это может быть лучшим способом интеграции: dot2tex: https://ctan.org/pkg/dot2tex?lang=en

person Ville Laitila    schedule 06.06.2010
comment
dot2tex хорош, а пакет dot2texi LaTeX очень хорош. Он позволяет вам определять встроенный график в вашем файле .tex, используя формат точки, а затем аннотировать его с помощью TikZ (см. Хороший пример в конце fauskes.net/code/dot2tex/documentation/). - person Mark; 10.03.2013

По моему опыту, я всегда просто использую внешнюю программу для создания графика (mathematica, gnuplot, matlab и т. Д.) И экспортирую график как файл pdf или eps. Затем я включаю его в документ с помощью includegraphics.

person zdav    schedule 06.06.2010