Воскресенье, 19.05.2024, 14:58
Мой сайт
Главная | | Регистрация | Вход
Меню сайта
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2014 » Июль » 30 » Графика точками. Построение научных и инженерных графиков с помощью GnuPlot: Часть 2. Настройка координатных о
05:42

Графика точками. Построение научных и инженерных графиков с помощью GnuPlot: Часть 2. Настройка координатных о





Введение

В первой статье этого цикла была описана программа GnuPlot и ее основные возможности, рассмотрен формат передачи данных для построения графиков, определение выходного терминала (формат вывода графиков), настройка типа и высоты шрифта. Входные данные записаны в файле 1.txt, управляющие команды записаны в файл scen.plt. В результате был построен график, но он нуждается в доработке.

Настройка типа графика

Так как программа занимается построением именно графиков, необходимо чтобы точки были соединены линиями. Gnuplot может строить линии, соединяя точки данных между собой. Можно рассмотреть множество хороших примеров построения графиков. Линии имеют много атрибутов, среди которых:

  • толщина – linewidth или lw – это целое число, толщина линии в пикселях;
  • цвет можно задавать с помощью определенной заранее константы. Посмотреть существующие цвета можно в диалоговом режиме программы: gnuplot gnuplot> show colornames

    После выполнения этой команды, программа покажет 112 имен цветов и соответствующие им цветовые константы. В таблице 1 приведены наиболее употребляемые из них.

Таблица 1. Наиболее употребляемые цвета в GnuPlot
Имя (константа)Цвет blackчерныйpurpleфиолетовыйgreenзеленыйorangeоранжевыйredкрасныйyellowжелтыйblueсинийbrownкоричневый

Очень часто команды можно сокращать, например, linewidth = lw. Это полезно при работе в диалоговом режиме.

Также при построении графиков можно явно обозначить точки, через которые проходит график, с помощью команды linespoints. В файле scen.plt необходимо заменить строку с командой plot на приведенную в листинге 1.

Листинг 1. Явное обозначения точек с помощью команды linespoints
plot '1.txt'using 1:2 with linespoints lw 1 lt rgb 'purple', \ '1.txt'using 1:3 with linespoints lw 2 lt rgb 'red',\ '' u 1:4 w li lw 3

Далее необходимо запустить команду:

На рисунке 1 приведен график с явным обозначением точек.

Рисунок 1. График с явным обозначением точек
Рисунок 1. График с явным обозначением точек

В первой строке указано, что надо построить двухмерный график (plot) по файлу данных 1.txt, используя для оси X столбец 1, для Y столбец 2 (using 1:2) с помощью линии с точками данных (linespoints) толщиной 1 пиксель (lw 1) и фиолетового цвета (lt rgb 'purple').

Команда plot работает следующим образом: она направляет построенный график в выбранный терминал, совершенно не разбираясь, что было до этого. Поэтому если выполнить подряд несколько команд plot, то в файле будет последний график, и только он. Чтобы построить несколько графиков на одном поле нужно указывать аргументы команды через запятую. В случае, если команда не помещается в одну строку, ее можно перенести, используя в конце строки символ \. Это тоже управляющий символ gnuplot.

Во второй строке задана толщина линии (lw) равная 2 пикселя, цвет красный, тип linespoints.

В третьей строке применено много сокращений:

  • вместо имени файла пустые кавычки ' ' – указывает на использование предыдущего файла;
  • with сокращено до w;
  • li – вместо lines;
  • и вовсе не указан цвет.

Тем не менее, цвет был выбран автоматически и отличающийся от тех, которые применялись раньше.

В случае, если надо печатать графики на черно-белом принтере, имеет смысл задать различные типы линий, чтобы их легче различать, например – линия (lines), линия с точками (linespoints) и пунктир (lt 0). Пример приведен в листинге 2.

Листинг 2. Использование различных типов линий
set terminal png size 500,350 font 'Verdana, 10' set output 'ЧХ №1.png' plot '1.txt'using 1:2 w li lw 2, \ '1.txt'using 1:3 w linespoints lw 2 pt 7,\ '' u 1:4 w li lw 3 lt 0

На рисунке 2 приведен график с использованием различных типов линий.

Рисунок 2. График с использованием различных типов линий
Рисунок 2. График с использованием различных типов линий

Первая строка рисует обычную линию. Вторая строка рисует линию с точками (linespoints), тип точек pt 7. Третья рисует пунктир – это линия с типом lt 0.

Вовсе не обязательно помнить, как выглядит тот или иной тип линии или точек, тем более он может (и будет) меняться в зависимости от выбранного терминала. Чтобы посмотреть, что доступно для выбранного терминала, можно создать и запустить файл с командами, приведенными в листинге 3.

Листинг 3. Просмотр доступных типов для выбранного терминала
set terminal png size 500,350 font 'Verdana, 10' set output 'test.png' test

В результате в файле test.png появится следующая картинка, показанная на рисунке 3.

Рисунок 3. Доступные типы для выбранного терминала
Рисунок 3. Доступные типы для выбранного терминала

Эта своеобразная таблица показывает, на что способен выбранный терминал. Кроме всего прочего, типы линий в столбце справа означают следующее: lt 1 – красная тонкая линия, если применить данный тип к линии с точками, то точки будут отмечены крестиками, серый пунктир – тип 0.

Настройки координатной сетки

Далее надо нарисовать координатную сетку для оси Y по следующим требованиям:

  • необходимо отложить звуковое давление в дБ, цена одного деления 1 дБ;
  • на сетку должны быть нанесены надписи, указывающие на величину звукового давления, через 5 дБ (130, 135, 140 и т.д.);
  • график должен быть похож на стандартный бланк, поэтому высота составляет 50 дБ.
set ylabel "Величина, dB (0дБ=1В)"

По умолчанию надпись расположится вдоль оси (в даном случае оси Y).

Показать сетку координат можно командой:

set grid xtics ytics mytics

Установить сетку по X, Y и специальную (mytics) сетку для Y (о ней далее). По умолчанию программа сама выберет масштаб и надписи. Задать их можно следующим образом:

Диапазон значений по Y от 90 до 140.

Стоит отметить, что при выборе диапазона вручную, при ошибке график может не поместиться и частично или полностью не будет отображен.

В листинге 4 приведен файл scen.plt, в котором использованы настройки координатной сетки.

Листинг 4. Файл scen.plt, в котором использованы настройки координатной сетки для оси Y
set terminal png size 500,350 font 'Verdana, 10' set output 'ЧХ №1.png' set ylabel "Величина, dB (0дБ=1В)" set yrange [90:140] set mytics (5) set grid xtics ytics mytics plot '1.txt'using 1:2 with lines lw 2 lt rgb 'red',\ '1.txt'using 1:3 with lines lw 2 lt rgb 'green',\ '' u 1:4 w lines lw 2 lt rgb 'blue'

Пример настройки координатной сетки для оси Y видно на рисунке 4, выполняется команда gnuplot c файлом scen.plt:

Рисунок 4. Пример настройки координатной сетки для оси Y
Рисунок 4. Пример настройки координатной сетки для оси Y

Требования для оси X следующие:

  • необходим логарифмический масштаб;
  • по оси откладывается частота в Гц;
  • начинать построение надо с 300 Гц (даже если данные есть только с 400);
  • линии сетки должны быть нанесены следующим образом: 300, 400, 500, 600, 700, 800, 900, 1000, 1600, 2000, 3000, 4000, 5000 Гц;
  • надписи должны быть не у каждой линии, а только возле 500, 1000, 1600, 2000, 5000 Гц, причем начиная с 1000 писать 1к, 1.6к и т.д.

Перед командой set grid добавим параметры, приведенные в листинге 5:

Листинг 5. Параметры для настройки оси X
set logscale x # логарифмическая шкала для X set xrange [300:5000] # шкала от 300 до 5000 set xlabel "Частота, Гц" # подпись для оси X set xtics ( "" 300,"" 400, "500" 500, "" 600, "" 700,"" 800, "" 900, "1k" 1000, "1.6k" 1600, "2k" 2000, "" 3000, "" 4000, "5k" 5000, "" 6000, "" 7000, "" 8000, "" 9000,"10k" 10000)

В последней команде указано как рисовать сетку для оси Х. Значение в кавычках – это то, что надо написать, через пробел – где написать. Так "500" 500 – значит, что надо провести отметку на 500 и рядом с ней написать «500», "" 300 – значит, что надо провести отметку на 300, но писать ничего не надо. Результат выполнения команды получим на рисунке 5.

Рисунок 5. Пример настройки координатной сетки для оси Х
Рисунок 5. Пример настройки координатной сетки для оси Х

Заключение

В статье были рассмотрены примеры нанесения произвольных координатных сеток на график с полной конфигурацией их делений и добавлением подписи к осям. Также приведен пример настройки логарифмического масштаба для осей.

ArticleTitle=Построение научных и инженерных графиков с помощью GnuPlot: Часть 2. Настройка координатных осей, выбор цвета, типа и других атрибутов линий для построения графиков



Источник: www.ibm.com
Просмотров: 11236 | Добавил: ygreed | Рейтинг: 0.0/0
Всего комментариев: 0
Форма входа
Поиск
Календарь
«  Июль 2014  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024Бесплатный конструктор сайтов - uCoz