Слідкуйте за виходом нових статей цієї серії.
Цей контент є частиною серії: Побудова наукових і інженерних графіків за допомогою GnuPlot
Слідкуйте за виходом нових статей цієї серії.
GnuPlot - це термінальна програма, яка запускається з командного рядка (існують також графічні інтерфейси gui). Управління роботою програми здійснюється за допомогою спеціальних команд, що вводяться або з клавіатури, або зі спеціального текстового файлу. Програма може будувати 2-х і 3-х мірні графіки, графіки в полярних координатах, спеціальні статистичні графіки з показаним відхиленням, стовпчасті діаграми і багато іншого. Слабке місце - це побудова кругових діаграм. Їх побудова вимагає написання досить складних команд.
Важливо: у програми дуже багато конфігурацій, налаштовується кілька десятків параметрів, описаних у документації та літератури, але потрібно розуміти, що всі вони вже попередньо визначені в спеціальному файлі конфігурації, або визначаються автоматично в процесі виконання. Під час сеансу роботи користувач переопределяет лише деякі параметри, щоб домогтися необхідних результатів.
GnuPlot може не тільки будувати графіки по вже наявними даними, у нього є вбудований мова програмування, схожий з «С», в якому передбачені безліч математичних функцій, розгалуження і цикли. За рахунок цього можливо попередньо обробляти дані, а також будувати графіки функції, що задаються математичними формулами. Як приклад розглянута функція sin (2 * х + 10).
Для установки програми в ОС Ubuntu необхідно ввести в терміналі наступну команду:
Після введення пароля програма буде встановлена. Gnuplot може працювати в двох варіантах:
- Введення команд в діалоговому режимі. Для входу в цей режим необхідно викликати програму командою:
Програма виведе на екран коротку інформацію і запрошення командного рядка. Для виходу з діалогового режиму в командну оболонку необхідно ввести exit.
В даному випадку - це файл scen.plt. Файл може бути будь-яким, але в даній статті такі файли будуть мати розширення plt. щоб можна було визначити, що в файлі не дані, а команди.
Отримання даних для побудови графіків
Для побудови графіка необхідно надати дані в певному порядку. Gnuplot завантажує дані зі звичайного текстового файлу, при цьому інтерпретуючи частину можна зустріти в ньому символів як керуючі. Файл даних являє собою матрицю, що містить стовпці і рядки. Кожен стовпець - це окремий потік даних: значення деякої функції або результат вимірювання. Для прикладу був сформований файл 1.txt. який приведений в лістингу 1.
Лістинг 1. Содержісое файлу 1.txt
У файлі можуть зустрічатися керуючі слова, в даному випадку - name. Це вкрай важливе слово, що йдуть після нього слова gnuplot сприймає як назви стовпців даних, це відмінний спосіб дати осмислені назви на етапі заповнення файлу.
Необхідно розуміти, що поділ даних (числових і строкових) в gnuplot виконується двома шляхами: символом пробіл, або табуляцією. Табуляція зручніше, так як дані утворюють красиві ряди. Якщо треба щоб усередині даних були прогалини, використовуються лапки, наприклад "ВУЗД 90".
У першому стовпці міститься значення частоти в Гц, в інших - показання приладів (вони реєструють звуковий тиск в дБ). Причому, так як файл даних - це простий текстовий файл, багато сучасні прилади здатні зберігати результати вимірювань в подібних файлах, це дуже зручно.
Вибір терміналу для виведення даних і настроювання використовуваних шрифтів.
У директорії з файлом даних необхідно створити текстовий файл scen.plt. що містить команду:
Таким чином був запущений gnuplot з командою, записаної в файлі.
Gnuplot - дуже універсальна програма і може будувати графіки в різних форматах, в нашому випадку - це термінал. За замовчуванням використовується термінал X11. тобто програма побудувала графік, вивела його на екран і завершилася (разом з нею пропав і графік). Є більше десятка інших терміналів, найбільш цікаві:
Приклад установки терміналу png із зазначенням файлу для збереження графіка приведений в лістингу 2.
Лістинг 2. Встановлення тесмінала png
В результаті виходить наступний графік, показаний на малюнку 1.
Малюнок 1. Графік, отриманий в результаті установки терміналу
На малюнку 1 все (крім даних) створено автоматично: намальовані осі, нанесені поділки, точки даних позначені червоними хрестиками, але не з'єднані лініями. Напис вгорі - це легенда, теж додана автоматично. команда
означає, що треба побудувати графік, використовуючи (using) для осі X дані з шпальти 1, для осі Y - з колонки 2.
У разі необхідності для терміналу png можна встановити прозорість:
За замовчуванням gnuplot будує графіки розміром 640х480 пікселів, розмір графіка, тип і висоту шрифту, яким наносяться написи, можна змінювати.
Новий файл scen.plt приведений в лістингу 3.
Лістинг 3. Вміст файлу scen.plt
На малюнку 2 наведено графік, побудований за даними з файлу scen.plt.
Малюнок 2. Графік, побудований за даними з файлу scen.plt
Отриманий графік має розмір 500х350 пікселів і шрифт Verdana висотою 10.
Якщо передбачається використовувати написи російською (або іншою мовою) треба переконатися, що обраний шрифт містить накреслення для цієї мови, інакше замість написів будуть незрозумілі значки.
Ім'я вихідного файлу задається командою set output. Визначити файл і термінал можна в будь-якому місці, але обов'язково перед plot.
Є можливість виводити підрядкові і надрядкові знаки за допомогою контрольних символів, наведених у таблиці 1: