Matlab Plotting GUI

Matlab has very good plotting capabilities, but the required command syntax is somewhat awkward.

Here is a hopefully user-friendly GUI for plotting XY curves from array data. The data must have two columns. Typical applications would be for a time history or frequency response function.

plot_two_curves.m
plot_two_curves.fig

The original goal was to write a GUI for superimposing two curves on the same plot, but the GUI works just as well for plotting a single curve.

This is version 1.0. So please check back for further revisions.

– Tom Irvine

Gnuplot – Plotting Program

drop_d


Gnuplot
is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don’t have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting

Gnuplot can be downloaded from previous link or from: softpedia gnuplot

* * *

Here is an example for plotting the time history shown above using the following files:

Gnuplot command file:  plot_drop.plt

Time history:  drop.txt

* * *

Here is an example for generating a graph with two subplots using the multiplot command.

Gnuplot command file:  plot_drop_multiplot.plt

Time histories:  drop.txt  &  drop_velox.txt

Here is an alternate example that plots the two curves in separate windows:  plot_drop_2.plt

* * *

The follow command is then entered into the gnuplot window:

gnuplot>load “plot_drop.plt”

* * *

The drop_plot.plt file also generates a corresponding png file as shown at the beginning of this post.

The  above plot was made using Gnuplot Version 4.6 patchlevel 3.

The png file can be accessed by other applications but may require the following command first depending on the application, operating system, etc.

gnuplot>clear

* * *

Here is an example for plotting a power spectral density in log-log format, with some manually added tics.

Data file: plate.psd

Gnuplot file: plot_psd.plt

gnuplot>load “plot_psd.plt”

* * *

Here is an example for plotting a shock response spectrum with two curves and a legend.

Data file:  half_sine_srs.txt

Gnuplot file:  plot_srs.plt

gnuplot> load “plot_srs.plt”

* * *

Here is an example for calling gnuplot from within a Fortran program running in Ubuntu:  fortran_gnuplot_demo.f

The key code line is:

CALL SYSTEM(‘gnuplot gnuplot_demo.plt -persist’)

* * *

See also:  Python & Gnuplot

* * *

– Tom Irvine

Ubuntu Plotting Programs

I am evaluating plotting programs for Ubuntu.  I already have plotting capability via Matlab and Python/matplotlib running under Ubuntu.

The Matlab export plot quality is ok but not great.

So far my Python knowledge only extends to making static plots.  Identifying interactive, dynamic plotting methods in Python is still on my “to do” list.

In the mean time, I am looking for an alternate plotting program that will import ASCII text data which may be comma, space, or tab delimited.  The data will then be plotted in a 2D line graph.

The program should have options for grid, labels, scaling, changing plot limits, log format, multiple curves, legend, makers, etc. The program should be user-friendly and preferably free.  It should be useful for both quick visualization and publication quality plots.

* *

Here are the results so far in alphabetical order.  This post will be updated as further evaluations are made.
DataScene – commercial package. Evaluation pending.

Gnumeric – nice spreadsheet capabilities.  Need more control over plotting parameters.

gnuplot – command line program.  Currently evaluating at Gnuplot Post.

Grace –  still trying to work through input file browser.  Further effort is needed to learn.

PlotDrop – on the right track, but needs more features.  Good for quick visualization.

QtiPlot –  nice spreadsheet capabilities.  Need more control over plotting parameters.

Rlplot – was unable to properly read input file.  Further effort is needed to learn.

SciDAVis – reasonably good at both quick visualization and export image quality.

Scilab –  review pending.

Tecplot – commercial package. Evaluation pending.

Veusz – reasonably good results.  Takes some getting use to.  May be better for preparing publication plots than for quick visualization.

ygraph – on the right track, but needs more features.

* * *

Hopefully,  these programs will be revised with feature enhancements, etc.

SciDAVis is the program which best meets my criteria for the time being.

* * *

Tom Irvine