1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
14 <em>Translations of this page are also available in the following languages:
</em> <a href=
"geda-data_plotting_improvements.ru.html" class=
"wikilink1" title=
"geda-data_plotting_improvements.ru.html">Русский
</a>.
17 <h1 class=
"sectionedit1" id=
"simulation_data_plotting">Simulation Data Plotting
</h1>
21 <!-- EDIT1 SECTION "Simulation Data Plotting" [129-169] -->
22 <h2 class=
"sectionedit2" id=
"rationale">Rationale
</h2>
26 This article discusses on how data plotting can be improved.
27 There are various programs out there, each has it
's own pros and cons:
30 <li class=
"level1"><div class=
"li"> <a href=
"http://home.nc.rr.com/gtkwave/" class=
"urlextern" title=
"http://home.nc.rr.com/gtkwave/" rel=
"nofollow"> gtkwave
</a>: a great viewer for digital simulation data
</div>
32 <li class=
"level1"><div class=
"li"> <a href=
"http://www.telltronics.org/software/gwave/" class=
"urlextern" title=
"http://www.telltronics.org/software/gwave/" rel=
"nofollow"> gwave
</a>: analog waveform viewer
</div>
34 <li class=
"level1"><div class=
"li"> <a href=
"http://sourceforge.net/projects/kjwaves" class=
"urlextern" title=
"http://sourceforge.net/projects/kjwaves" rel=
"nofollow"> KJWaves
</a>: simulation frontend with plotting window
</div>
36 <li class=
"level1"><div class=
"li"> buildin plotting functions in ngspice
</div>
38 <li class=
"level1"><div class=
"li"> gnuplot / octave / scipy / … or similar programs as postprocessing script languages
</div>
40 <li class=
"level1"><div class=
"li"> …
</div>
45 There have been various suggestions on the mailing lists about the feature a plotting program could have:
48 <li class=
"level1"><div class=
"li"> postprocessing: integrate, add, diff, fft, …
</div>
50 <li class=
"level1"><div class=
"li"> view, examine: cursors, multiple windows, …
</div>
52 <li class=
"level1"><div class=
"li"> data import, file format: circuit simulation data (gnucap, spice, …)
<a href=
"http://www.hdfgroup.org/HDF5/" class=
"urlextern" title=
"http://www.hdfgroup.org/HDF5/" rel=
"nofollow"> hdf5
</a>, measured data from oscilloscopes, spectrum analysers, …
</div>
54 <li class=
"level1"><div class=
"li"> data export, file format: hdf5, pictures (png, ps, …), ascii
</div>
56 <li class=
"level1"><div class=
"li"> communication backends: dbus, …
</div>
58 <li class=
"level1"><div class=
"li"> extension/scripting language
</div>
63 <!-- EDIT2 SECTION "Rationale" [170-1261] -->
64 <h2 class=
"sectionedit3" id=
"draft1extend_gtkwaves">Draft1: Extend gtkwaves
</h2>
67 <li class=
"level1"><div class=
"li"> write some import functions for analog data
</div>
72 <!-- EDIT3 SECTION "Draft1: Extend gtkwaves" [1262-1347] -->
73 <h2 class=
"sectionedit4" id=
"draft2improve_gwave">Draft2: improve gwave
</h2>
77 gwave requires an old
<a href=
"http://www.gnu.org/software/guile-gtk/" class=
"urlextern" title=
"http://www.gnu.org/software/guile-gtk/" rel=
"nofollow"> guile-gtk
</a> for GTK1.2.
80 <li class=
"level1"><div class=
"li"> port gwave to guile-gtk2.0 for GTK2.x
</div>
82 <li class=
"level1"><div class=
"li"> remove the guile-gtk requirement. Maybe create a native gtk2 application with libglade?
</div>
90 <li class=
"level1"><div class=
"li"> gaw:
<a href=
"http://www.rvq.fr/linux/gaw.php" class=
"urlextern" title=
"http://www.rvq.fr/linux/gaw.php" rel=
"nofollow">http://www.rvq.fr/linux/gaw.php
</a></div>
95 <!-- EDIT4 SECTION "Draft2: improve gwave" [1348-1672] -->
96 <h2 class=
"sectionedit5" id=
"draft3search_for_existing_data_exploring_programs">Draft3: Search for existing data exploring programs
</h2>
100 Are there any programs out there that can show and postprocess simulation data?
101 If yes, how can they be extended to work as a waveform viewer for the simulators (gnucap, ngspice)?
105 <!-- EDIT5 SECTION "Draft3: Search for existing data exploring programs" [1673-1919] -->
106 <h2 class=
"sectionedit6" id=
"draft4a_new_plotting_application">Draft4: A new plotting application
</h2>
110 Some vague notes on how a new plotting application could be written.
111 This notes currently relate on python as programming language.
114 <li class=
"level1"><div class=
"li"> the
<abbr title=
"Graphical User Interface">GUI
</abbr> could be created with
<a href=
"http://www.jamesh.id.au/software/libglade/" class=
"urlextern" title=
"http://www.jamesh.id.au/software/libglade/" rel=
"nofollow">libglade
</a></div>
116 <li class=
"level1"><div class=
"li"> the data storage format could be
<a href=
"http://www.hdfgroup.org/HDF5/" class=
"urlextern" title=
"http://www.hdfgroup.org/HDF5/" rel=
"nofollow"> hdf5
</a>, maybe together with
<a href=
"http://www.pytables.org/moin" class=
"urlextern" title=
"http://www.pytables.org/moin" rel=
"nofollow">pytables
</a></div>
118 <li class=
"level1"><div class=
"li"> the plotting engine could be
<a href=
"http://matplotlib.sourceforge.net/" class=
"urlextern" title=
"http://matplotlib.sourceforge.net/" rel=
"nofollow"> matplotlib
</a> (png, ps export included)
</div>
120 <li class=
"level1"><div class=
"li"> postprocessing could be done with
<a href=
"http://www.scipy.org" class=
"urlextern" title=
"http://www.scipy.org" rel=
"nofollow"> scipy
</a></div>
122 <li class=
"level1"><div class=
"li"> the scripting language is python. Thus import filter to hdf5 can easily be written. Even an integrated python shell would be possible. Seen on
<a href=
"http://code.enthought.com/mayavi2-screenshot.shtml" class=
"urlextern" title=
"http://code.enthought.com/mayavi2-screenshot.shtml" rel=
"nofollow"> MayaVi
2</a></div>
127 Disadvantage: This configuration has a huge rucksack of additional required packages.
131 <strong>Update
</strong>
135 There are now some programs out there, that use the python, numpy, matplotlib tool chain:
138 <li class=
"level1"><div class=
"li"> oscopy:
<a href=
"http://repo.or.cz/w/oscopy.git" class=
"urlextern" title=
"http://repo.or.cz/w/oscopy.git" rel=
"nofollow">http://repo.or.cz/w/oscopy.git
</a></div>
140 <li class=
"level1"><div class=
"li"> dataplot:
<a href=
"http://www.h-renrew.de/h/dataplot/dataplot.html" class=
"urlextern" title=
"http://www.h-renrew.de/h/dataplot/dataplot.html" rel=
"nofollow">http://www.h-renrew.de/h/dataplot/dataplot.html
</a>,
<a href=
"http://repo.or.cz/w/dataplot.git" class=
"urlextern" title=
"http://repo.or.cz/w/dataplot.git" rel=
"nofollow">http://repo.or.cz/w/dataplot.git
</a></div>
142 <li class=
"level1"><div class=
"li"> gsim:
<a href=
"http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim" class=
"urlextern" title=
"http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim" rel=
"nofollow">http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim
</a></div>
147 <!-- EDIT6 SECTION "Draft4: A new plotting application" [1920-] --></body>