-не так Часто Задаваемые Вопросы- обновлено 2010/12/26
|
|
not so FAQ |
Построение числовых данных из файла (No.1)Возможно, большинство из любителей gnuplot используют это приложение в области науки для посторения графика с целью построения графиков результатов от расчетов или экспериментальных данных. Они видят результаты на мониторе, вносят некоторые коррективы, сравнивают расчетные результаты с экспериментальными данными, и т.д. Если расчеты выполнены верно, то их сохраняют в формат postscript и печатаю на принтере, в противном случае файл EPS может быть включен в документ TeX научной статьи... Что такое формат, который gnuplot может распознать?2D данныеВ файле столбцы данных разделяются пробелами и табуляторами. Если строка начинается со значка "#", то она игнорируется. Gnuplot может прочитать файлы любого формата, для этого необходимо указать формат файла. Смотри gnuplot help "using". # X Y 1.0 1.2 2.0 1.8 3.0 1.6 Например, если у вас двумерный массив, одна строка содержит пары X и Y, как у казанно выше. Если X и Y неопределены, необходимо задать дополнительную колонку для погрешностей. Порядок столбцов не важен, потому что вы можете указать какой столбец используется для X, а какой для Y. Если первый столбец - значения X, а второй - значения Y, используем опцию using следующим образом: gnuplot> plot "test.dat" using 1:2 Если опция using не используется, то первый столбец задается как значения X, а второй как значения Y автоматически. Есть 2 способа заполнить бар погрешностей значениями Y. Первый способ - плюс/минус Z неопределенность значений Y. Второй способ - значения Y находящиеся в диапозоне [Z1,Z2]. В этом случае значения бара погрешностей больше и меньше значений Y. Первый случай требует 3 колонки данных, а последний - 4 колонки данных. # X Y Z 1.0 1.2 0.2 2.0 1.8 0.3 3.0 1.6 0.2 # X Y Z1 Z2 1.0 1.2 0.8 1.5 2.0 1.8 0.3 2.3 3.0 1.6 1.0 2.1 Для построения этих данных, необходима опция using. gnuplot> plot "test.dat" using 1:2:3 with yerrorbars gnuplot> plot "test.dat" using 1:2:3:4 with yerrorbars Число столбцов, необходимых для постороения, зависит от вида рисунка, который приводится дальше.
3D данные.Трехмерные данные задаются (X,Y,Z). По умолчанию, они представляют точку в трехмерном пространстве. Когда используется вместе с опцией with lines рисуются линии, gnuplot показывает 3D линии или поверхности в зависимости от формата данных. Следующий пример содержит 4 блока данных, которые разделяются одной пустой строкой. Число пар (X,Y) различно для каждого блока данных. В этом случае, gnuplot не отобразит поверхности, но покажет 3D линии. # X Y Z 0 0 0 0 1 1 0 2 4 0 3 9 0 4 16 0 5 25 1 0 1 1 1 2 1 2 5 1 3 10 1 4 17 2 0 4 2 1 5 2 2 8 2 3 13 3 0 9 3 1 10 3 2 13 gnuplot> splot "test3d.dat" using 1:2:3 with lines Теперь, если число пар (X,Y) одинаково: # X Y Z 0 0 0 0 1 1 0 2 4 0 3 9 0 4 16 0 5 25 1 0 1 1 1 2 1 2 5 1 3 10 1 4 17 1 5 26 2 0 4 2 1 5 2 2 8 2 3 13 2 4 20 2 5 29 3 0 9 3 1 10 3 2 13 3 3 18 3 4 25 3 5 34 Поверхность приобретет вид сетки. Хотя значения Y (второго столбца) в каждом блоке этого примера одинаковы, gnuplot так же рисует поверхность в виде сетки и при различных значениях Y (но количество точек одинаково). Такие данные рассматриваются как сетка данных. Когда ваши данные представленны ввиде сетки данных, gnuplot может сделать контрольную карту или скрытую обработку линий. Далее проходит небольшой тест - значения Y в последнем блоке удваиваются (изменен с Y=5 до Y=10). Если необходимо не использовать сетку, а именно линии, но при этом блоки содержат одинаковое количество точек, то необходимо отделить в каждом блоке по 2 пустые строки. # X Y Z 0 0 0 0 1 1 0 2 4 0 3 9 0 4 16 0 5 25 1 0 1 1 1 2 1 2 5 1 3 10 1 4 17 1 5 26 2 0 4 2 1 5 2 2 8 2 3 13 2 4 20 2 5 29 3 0 9 3 1 10 3 2 13 3 3 18 3 4 25 3 5 34 Матрицы.Формат данных матрица - это альтернативный способ задать 3D данные. Когда значения X и Y (XY сетка) фиксированны, формат матрица является более удобным. В этом формате необходимым являются направления строки X и столбца Y. 0 1 4 9 1 2 5 10 4 5 8 13 9 10 13 18 16 17 20 25 25 26 29 34 Для построения этих данных используется matrix . Если данные представленны форматом матрица, то координаты X и Y - индексы строк и столбцов. В этом случае указывается диапазон X[0:3] и диапазон Y[0:5]. Если вы хотите изменить эти числа, используется команда set {x|y}tics. Следующий пример показывает как изменить диапазон X от [0:2] до [100:300]. gnuplot> set xtics ("100" 0, "200" 1, "300" 2) gnuplot> splot "test3d.dat" matrix with lines |