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

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


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

  * [[http://home.nc.rr.com/gtkwave/| gtkwave]]: прекрасная программа просмотра данных цифрового моделирования
  * [[http://www.telltronics.org/software/gwave/| gwave]]: программа просмотра аналоговых сигналов
  * [[http://sourceforge.net/projects/kjwaves| KJWaves]]: оболочка моделирования с окном построения графиков
  * встроенные функции вычерчивания графиков в ngspice
  * gnuplot / octave / scipy / ... или подобные программы как скриптовые языки пост-обработки
  * ...

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

  * пост-обработка: интегрирование, сложение, дифференцирование, [[http://ru.wikipedia.org/wiki/Быстрое_преобразование_Фурье|БПФ]], ...
  * просмотр, исследования: курсоры, много окон, ...
  * импорт данных, формат файла: данные моделирования (gnucap, spice, ...) [[http://www.hdfgroup.org/HDF5/| hdf5 ]], измеренные данные с осциллографов, анализаторов спектра, ...
  * экспорт данных, формат файла: hdf5, изображения (png, ps, ...), [[gEDA:glossary.ru#ASCII]]
  * низкоуровневые средства коммуникации: dbus, ...
  * язык расширений / написания скриптов


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

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

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

gwave требует старой версии [[http://www.gnu.org/software/guile-gtk/ |
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.

  * графический интерфейс можно создать с помощью [[http://www.jamesh.id.au/software/libglade/ |libglade]]
  * форматом хранения данных мог бы быть [[http://www.hdfgroup.org/HDF5/| hdf5 ]], может быть вместе с [[http://www.pytables.org/moin |pytables]]
  * движком построения графиков может быть [[http://matplotlib.sourceforge.net/ | matplotlib]] (туда входит экспорт PNG и PS)
  * пост-обработку можно было бы делать с помощью [[http://www.scipy.org | scipy]]
  * языком для скриптов является python. Поэтому легко может быть написан фильтр импорта в hdf5. Можно даже использовать интегрированную оболочку python. Видел такое на [[http://code.enthought.com/mayavi2-screenshot.shtml | 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]]
