С помощью инструментов TikZ и родственных для них инструментов пакета PGF можно
рисовать не только графики функций и
различные геометрические фигуры, но также можно
визуализировать данные, которые так или иначе представлены в таблицах.
Я сейчас покажу один пример, как это сделать.
Во-первых, у меня есть файл с данными.
Это файл data.dаt.
Давайте я открою его в той же программе, что и TeX-документы.
Это текстовый файл, в котором собраны какие-то цифры.
Это так называемый CSV-файл,
то есть данные, разделенные запятыми.
Если у вас есть таблица Excel, то вы можете легко сохранить ее
как такой файл, выбрав Файл — Сохранить как и выбрав там формат CSV.
Потом можно будет открыть этот файл
с помощью любого текстового редактора, например,
того же самого, в котором вы
редактируете LaTeX-документы, и посмотреть, что получилось.
Ну, во-первых, у меня здесь первая строчка —
это заголовок, столбики называются x и y.
Ничего, ничего говорящего в этих столбиках нет, потому что
эти переменные в моем случае почти ничего не значат.
Но в вашем случае это могут быть какие-то содержательные заголовки.
Ну и дальше, по одной штуке на строку, здесь есть 94
точки данных.
И у каждой из них указано две координаты.
Вот, например, у первой точки координата 0.6 и какое-то большое отрицательное число.
Числа совершенно разного порядка по x и по y.
То есть в одном в одном измерении —
это единицы, а в другом измерении — это миллиарды.
Давайте теперь научимся рисовать картинку, в которой
каждая из этих точек данных станет точкой на листе.
У меня есть заготовка, которую я сам сделал.
Я ее сейчас вставил сюда, и давайте разберемся, как она выглядит.
Во-первых, то, что здесь сделано, сделано с помощью окружения axis и
пакета, который мы подключили в начале
в преамбуле, позволяют использовать это окружение.
У окружения axis есть несколько необязательных аргументов.
Тут все довольно интуитивно, можно, можно очень легко разобраться.
Скажем, вот, width и height — это ширина и высота всего рисунка.
xmax и xmin — это координаты, которые
отвечают за ось x, то есть откуда она должна
начинаться сама, физически нарисованная ось x, начинаться.
В моем случае она должна из точки минус два и заканчиваться точкой 31,9.
Ну, я эти
параметры придумал, посмотрев вот на этот файл и найдя
тут самое маленькое и самое большое значение по x.
Вот, по x тут, скажем, есть минус один и два,
возможно есть где-то еще меньше, значит, с небольшим запасом, можно
с минус двух начинать ось x и заканчивать ее там,
там, где самое большое значение этого параметра наблюдается в нашей таблице.
ymax и ymin — вот эти
команды, это команды, отвечающие за минимальное
и максимальное значение по вертикальной оси,
и они у меня здесь совершенно другого порядка.
Точно такого же порядка, как и сами данные,
то есть тут цифры с очень большим количеством нулей.
Вот, теперь нужно непосредственно сослаться
на данные, то есть нужно сказать
этому... этой программе, откуда нужно брать
цифры.
И это делается с помощью команды \addplot то есть добавить график.
only marks, необязательный аргумент, означает,
что не нужно рисовать соединительные точки.
Если бы у меня был какой-нибудь, там, временной ряд.
Скажем, цена акции во времени.
По одной оси было бы время, а по другой —
цена акции, то мне бы пригодились соединительные линии между точками.
Здесь же точки не расположены ни в каком особенном порядке,
и их очень много, поэтому соединительные линии между ними мешали бы.
Поэтому я убираю их, написав здесь only marks.
Вот, ну и дальше я говорю ему, что у меня есть таблица,
у которой есть
x и y.
Первый столбик по компьютерной традиции нумеруется нулем.
То есть x нужно взять из
столбика, который имеет номер ноль, но
в человеческой нумерации — это первый столбик.
А y нужно взять из столбика, который имеет
номер один, в человеческой нумерации — это второй столбик.
col sep=comma, то есть, это означает, что в этом моем файле
действительно запятой разделены ячейки, то есть первый столбик и второй.
Иногда это может быть не так, скажем, если вы сохраните
файл из Excel, то там могут оказаться, например, точки с запятой.
Тогда здесь вместо comma нужно будет написать semicolon или то, что будет в вашем файле.
Иногда табулятором, знаком табулятора, разделяются столбцы.
Все это можно здесь написать, и файл будет правильно прочитан.
Ну и обязательный аргумент у команды \addplot — это сам файл.
data.dat.
Он у меня имеет имя.
Он мог иметь другое имя и тогда я бы здесь его написал.
Он должен лежать в той же самой папке, что и TeX-документ.
Ну, или в одной из подпапок, тогда вы знаете, как на него ссылаться.
Тогда здесь надо было бы написать полный... ну, относительный путь
95
00:05:42,010 --> 00:05:44,060
к тому файлу, из которого мы хотим взять
данные.