2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Рисование графиков с помощью таблицы значений и пакета TikZ
Сообщение27.01.2008, 14:05 
Вставлять графики функций в \LaTeX-документы можно многими способами. Предлагаю Вашему вниманию способ, в котором используется таблица значений функции и пакет TikZ. (Более подробно расписал этот способ в pdf-файле, вот ссылка).

1-й этап. С помощью подходящей программы создать текстовый файл, содержащий таблицу значений функции (назовём этот файл "atan.table"):
Код:
# atan(x), x= -3 .. 3, step = 0.1
-3.0000 -1.2490
-2.9000 -1.2387
...
2.9000 1.2387
3.0000 1.2490

Например, на языке Python такой файл можно создать следующей программой:
Код:
from math import *
fout = open("atan.table", "wt")
x1 = -3.0; x2 = 3.0; n = 60
h = (x2 - x1) / n
for k in range(n + 1):
  x = x1 + k * h
  print >>fout, "%.4f %.4f" % (x, atan(x))

2-й этап. В \LaTeX-файле подключить графический пакет TikZ и запрограммировать TikZ-рисунок (окружение tikzpicture), содержащий строку
Код:
\draw plot[smooth] file{atan.table};

Внутри TikZ-рисунка, кроме самого графика, нужно задать оси и подписи. Это дополнительные хлопоты, зато полный контроль над оформлением.

\LaTeX-файл с TikZ-рисунком можно компилировать в формат PDF программой pdflatex или в PS программами latex и dvips.

P. S. Внёс небольшие исправления (в первоначальном сообщении допустил грубую ошибку в Python-программе и забыл, что TikZ умеет сглаживать линии).

 
 
 
 
Сообщение28.01.2008, 15:26 
Спасибо Егор за интересную тему и Ваш подход!
Я лишь добывлю, что для создания векторных рисунков (в частности графиков двух-, трехмерных функций и геометрических рисунков) и последующей вставки в документы LaTeX можно использовать программу WinGCLC 2007. Для меня оказалось несложным понять как это делается там. Хотя уметь работать с TikZ, по моему мнению, более перспективно.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group