[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnuplot functionallity in octave
From: |
Olaf Till |
Subject: |
Re: gnuplot functionallity in octave |
Date: |
Mon, 22 Mar 2010 12:27:37 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Fri, Mar 19, 2010 at 12:27:52PM +0100, address@hidden wrote:
> Hello,
>
> I just gave a colleague of mine a printed German Gnuplot tutorial
> (prepared by the computer center of Hannover, Germany). Actually he is
> working with a variety of lab devices. So he's dealing with many kinds of
> ascii data and has to create publication-ready plots.
>
> I suggested him to use Octave because it might be more comfortable when it
> comes to data manipulation or some calculations. Although he was very
> interested, he was unsure about my suggestion since his English is not
> that good.
>
> My question: Since until now I have not created plots for publishing
> through Octave is it in general possible to access all the functionallity
> of gnuplot via Octave? And, will the German Gnuplot manual still be
> helpfull for him?
I do not know if current Octave versions allow to control all Gnuplot
features with high level commands. But there were not all features
controllable previously, e.g. font size of tick-labels, if I remember
right. Some, including myself, use(d) to send Gnuplot commands
directly to Gnuplot from Octave to obtain publication-quality figures
of plots, similar to that, e.g.:
ofile = "figure.eps";
scale = .75;
settings = ["unset key\n", \
"set xlabel 'independent variable [unit]'\n", \
"set ylabel 'dependent variable'\n", \
"set xrange [0:]\n", \
sprintf ("setsize %f,%f\n", scale, scale)];
fmt = "with lines linetype 1 linewidth 3";
gnupl_fid = popen ("gnuplot - &> /dev/null", "w");
fprintf (gnupl_fid, settings);
fprintf (gnupl_fid, "set terminal postscript eps enhanced monochrome 22\n");
fprintf (gnupl_fid, sprintf ("set output '%s'\n", ofile));
n = ...; # number of traces in the plot
fprintf (gnupl_fid, sprintf ("plot '-' %s%s\n", fmt, \
repmat \
(sprintf (", '-' %s", fmt), 1, n - 1)));
for id = 1:n
data = ...; # prepare your data, x in row 1, y in row 2
fprintf (gnupl_fid, "%.16f %.16f\n", data);
fprintf (gnupl_fid, "e\n");
endfor
fprintf (gnupl_fid, "exit\n");
pclose (gnupl_fid);
Note also that Etienne Grossmann has written Octave functions which
facilitate such a communication with Gnuplot. They are available at
his homepage.
So, with the above approach, the German Gnuplot manual _will_ be
useful for your colleague ...
Olaf