Allin,
The key reason why I need to write it from scratch is that I need to
include shaded areas in the chart (like the NBER recession).
I could not figure it out how to do that in the standard gretl "gnuplot"
command plus {...} commands.
Thanks
On Thu, Aug 9, 2012 at 8:34 PM, Allin Cottrell <cottrell(a)wfu.edu> wrote:
On Thu, 9 Aug 2012, Paulo Grahl wrote:
> I am trying to run a gnuplot script from within a gretl script. Where
can I
> find some help / tutorials?
> Basically, I am trying to do the following:
> 1. run a gretl script that opens a data file (which is updated every
month).
> 2. do some calculations and stats withing gretl script
> 3. create a gnuplot with a "professional look"
> 3.a - ideally I would have a standard gnuplot script (with some
> fancy formatting, with recession bars, etc) and then I would pass the
> variables to be plotted (and some strings that would be the names of
those
> variables, title of the chart, etc) as parameters for the gnuplot script.
>
> The idea is to have a gnuplot script that would work as a "template" and
> then I would use this template to generate some charts with different
time
> series.
You should write a gretl function to do the job.
Do you really need to write your own plot command from scratch, or
can you use gretl's "gnuplot" command plus {...} commands? The
latter would be considerably easier. But here's a trivial example of
the former.
<hansl>
function void write_plot_file (string fname, list ylist,
series x, string title)
outfile @fname --write
printf "set style line 1 lc rgb \"#ff0000\"\n"
printf "set style line 2 lc rgb \"#0000ff\"\n"
# and so on, if need be
printf "set title \"%s\"\n", title
print "plot \"
nv = nelem(ylist)
loop foreach i ylist -q
printf "'-' using 1:2 title \"%s\" w lines",
varname(ylist[i])
if i < nv
printf " , \\\n"
else
printf "\n"
endif
endloop
loop foreach i ylist -q
loop t=1..$nobs -q
printf "%.10g %.10g\n", x[t], ylist.$i[t]
endloop
printf "e\n"
endloop
outfile --close
end function
# driver script
open data9-7
string fname = "myplot.gp"
string title = "My title"
list ylist = PRIME UNEMP
series x = 1975
x = x(-1) + 0.25
write_plot_file(fname, ylist, x, title)
gnuplot --input="@fname" --output=display
</hansl>
Allin Cottrell
_______________________________________________
Gretl-users mailing list
Gretl-users(a)lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users