Эта страница доступна также на следующих языках: English

# Построение графиков данных моделирования

## Обоснование

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

- gtkwave: прекрасная программа просмотра данных цифрового моделирования
- gwave: программа просмотра аналоговых сигналов
- KJWaves: оболочка моделирования с окном построения графиков
- встроенные функции вычерчивания графиков в ngspice
- gnuplot / octave / scipy / ... или подобные программы как скриптовые языки пост-обработки
- ...

В списках рассылки были разные предложения о том, какие возможности могла бы иметь программа вывода графиков:

- пост-обработка: интегрирование, сложение, дифференцирование, БПФ, ...
- просмотр, исследования: курсоры, много окон, ...
- импорт данных, формат файла: данные моделирования (gnucap, spice, ...) hdf5 , измеренные данные с осциллографов, анализаторов спектра, ...
- экспорт данных, формат файла: hdf5, изображения (png, ps, ...), ASCII
- низкоуровневые средства коммуникации: dbus, ...
- язык расширений / написания скриптов

## План 1: расширить возможности gtkwaves

- написать несколько функций импорта аналоговых данных

## План 2: улучшить gwave

gwave требует старой версии guile-gtk для GTK1.2.

- перенести gwave на guile-gtk2.0 для GTK2.x
- удалить зависимость от guile-gtk. Может быть создать приложение на чистом gtk2 с помощью libglade?

Переделанная gwave:

- gaw: http://www.rvq.fr/linux/gaw.php

## План 3: поискать существующие программы обработки данных

Есть ли какие-нибудь программы для отображения и пост-обработки данных моделирования? Если да, как их приспособить для работы в качестве программ просмотра временных диаграмм сигналов для программ моделирования (gnucap, ngspice)?

## План 4: новое приложение для построения графиков

Несколько неясных заметок о возможностях написания нового приложения для построения графиков. В настоящий момент в качестве языка программирования в них предполагается python.

- графический интерфейс можно создать с помощью libglade
- форматом хранения данных мог бы быть hdf5 , может быть вместе с pytables
- движком построения графиков может быть matplotlib (туда входит экспорт PNG и PS)
- пост-обработку можно было бы делать с помощью scipy
- языком для скриптов является python. Поэтому легко может быть написан фильтр импорта в hdf5. Можно даже использовать интегрированную оболочку python. Видел такое на MayaVi 2

Недостаток: В такой конфигурации требуется огромный рюкзак дополнительных пакетов.

Обновление

Есть несколько программ, использующих такой набор инструментов как python, numpy, matplotlib:

- oscopy: http://repo.or.cz/w/oscopy.git
- dataplot: http://www.h-renrew.de/h/dataplot/dataplot.html, http://repo.or.cz/w/dataplot.git
- gsim: http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim