Як намалювати графік в LaTeX?


75

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

По-друге, який найпростіший спосіб намалювати такий простий графік у латексі? текст заміщення

Я бачив деякі документи з графіками і бачив кілька прикладів, але не міг зрозуміти, як просто намалювати простий графік - які пакети мені потрібні тощо?


Відповіді:


105

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/, де, я думаю, також буде присутній посібник із встановлення.


2
Зокрема, пакет tkz-berge може бути особливо корисним.
Alex R,

@Alex, чудове посилання! (хоча це внизу More examplesпосилання, яке я вже розміщував :))
Барт Кіерс

1
повертаючись до цього питання - чи потрібно вказувати координати? Чи може це якось впоратись із собою?
Амір Рахум

Крім того, як я можу додати спрямовані краї з позначеннями на них?
Амір Рахум

1
@ Амір Рахум, сторінка прикладів, опублікована в моїй оригінальній відповіді, показує графік з ребрами (див. "Приклад: мережа Петрі для Хагена"). Чи можна робити автоматичне розміщення, як це робить Graphviz , я не знаю.
Барт Кірс,

3

Окрім (чудової) пропозиції використовувати TikZ, ви можете використовувати газотекс . Я використовував це до того, як TikZ був доступний, і він теж зробив свою справу.


2

Можливо, використовуйте tikz .


Будь-яким чином ви можете допомогти мені встановити цей пакет?
Амір Рахум

@Amir Перейдіть на сторінку завантаження sourceforge, щоб отримати пакет, а потім прочитайте вказівки - вони досить прямі.
zdav

3
@Amir: Як встановити пакет, залежить від вашої ОС. На Ubuntu tikzнадається pgfпакетом. Отже, все, що потрібно зробити, є sudo apt-get install pgf.
unutbu

2
У Windows мені нічого робити не довелося. Як тільки у моїй преамбулі був \ usepackage {tikz}, miktex зробив усе інше. Те саме з mac. Нічого не треба було робити, мені просто довелося зателефонувати до пакету.
Віві

2

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

Якщо graphviz виробляє те, на що ви прагнете, це може бути найкращим способом інтеграції: dot2tex: https://ctan.org/pkg/dot2tex?lang=en


1
dot2tex - це добре, а пакет dot2texi - LaTeX - дуже хороший. Це дозволяє вам визначити графік, вбудований у файл .tex, використовуючи формат крапок, а потім анотувати його за допомогою TikZ (див. Гарний приклад в кінці fauskes.net/code/dot2tex/documentation/… ).
Марк

0

На моєму досвіді, я завжди просто використовую зовнішню програму для генерації графіка (математика, gnuplot, matlab тощо) та експорту графіку як файл PDF або EPS. Потім я включаю його в документ з includegraphics.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.