Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.graphics.apps.gnuplot > #510
| From | sfeam <sfeam@users.sourceforge.net> |
|---|---|
| Newsgroups | comp.graphics.apps.gnuplot |
| Subject | Re: create custom command |
| Followup-To | comp.graphics.apps.gnuplot |
| Date | 2011-08-04 10:04 -0700 |
| Organization | gnuplot development team |
| Message-ID | <j1ejec$ppr$1@dont-email.me> (permalink) |
| References | <1882bdde-ae80-452e-b232-966b81015e1a@s7g2000yqk.googlegroups.com> <j1ef61$qn2$1@dont-email.me> |
Followups directed to: comp.graphics.apps.gnuplot
sfeam wrote:
> francesco lucci wrote:
>
>> Hi all,
>> I have a gnuplot script A that sets some standard parameters (i.e.
>> legends, line types, slabx = input for index parameter etc)
>> and loads scripts Bx that set other parameters (i.e. datafile = file
>> data to be plot, var = variable to be plot)
>> and load another scrip C that simply performs the plotting command:
>>
> ------------------------------------------------------------------------------------------------------
> -----------------------
>> plot datafile using 1:(sqrt(column(var))) index slab1 title name1 w
>> l ls 1, \
>> datafile using 1:(sqrt(column(var))) index slab2 title name2 w l
>> ls 2, \
>> datafile using 1:(sqrt(column(var))) index slab3 title name3 w l
>> ls 3, \
>> datafile using 1:(sqrt(column(var))) index slab4 title name4 w l
>> ls 4
>>
> ------------------------------------------------------------------------------------------------------
> ----------------------
>> everything work fine and I generate 10s of plots just by calling
>> (gnuplot 'A').
>>
>> But if I want to plot more sections ('index slabx') i have to change
>> both A and the C scripts.
>> ( and ofcourse i have to manage too many scripts ...)
>>
>> I was wondering if it was possible to define directely the plot
>> command of script C in script A.
>> So i can have 1 set of scripts less and the only change i have to do
>> to B is to replace
>> < load 'C' > with < Newcommand> (or similar).
>
> There are several ways you could do this in version 4.4, and even
> more if you are using the development version.
>
> In version 4.4 using macros
> script A:
> command_options = " index slab1 title name1 w l ls 1"
> load "C"
> script C:
> set macros
> plot datafile using 1:(sqrt(column(var))) @command_options
>
> In version 4.4 using eval()
> script A:
> plot_command = "plot ...."
> load "C"
> script C:
> eval(plot_command)
Oops. Pay no attention to the example below.
I tried to simplify from a more complex example, but I cut out too much
so that as shown it cannot work.
> In version 4.5 using iteration
> script A:
> indices = "slab1 slab3 slab6"
> load "C"
> script C:
> plot for [i in indices] datafile using 1:(f(var)) index i
>
>
> See "help macros" "help eval" "help iteration"
>
>
>>
>> Any idea.
>>
>> thank you everybody for any suggestion.
>> francesco
Back to comp.graphics.apps.gnuplot | Previous | Next — Previous in thread | Next in thread | Find similar
create custom command francesco lucci <lucciud@gmail.com> - 2011-08-04 08:34 -0700
Re: create custom command sfeam <sfeam@users.sourceforge.net> - 2011-08-04 08:51 -0700
Re: create custom command sfeam <sfeam@users.sourceforge.net> - 2011-08-04 10:04 -0700
Re: create custom command francesco lucci <lucciud@gmail.com> - 2011-08-12 02:23 -0700
Re: create custom command francesco lucci <lucciud@gmail.com> - 2011-08-12 02:48 -0700
csiph-web