Documentation updated

This commit is contained in:
Giorgio Calderone 2018-10-20 19:56:50 +02:00
parent 17ad235f98
commit a832c501de

View File

@ -748,10 +748,10 @@ end
""" """
# @gp # @gp
The `@gp` macro, and its companion `@gsp` (for `splot` The `@gp` macro, and its companion `@gsp` (for `splot` operations)
operations) allows to exploit all of the **Gnuplot** package allows to exploit all of the **Gnuplot** package functionalities
functionalities using an extremely efficient and concise syntax. Both using an extremely efficient and concise syntax. Both macros accept
macros accept the same syntax, described below: the same syntax, described below:
The macros accepts any number of arguments, with the following The macros accepts any number of arguments, with the following
meaning: meaning:
@ -775,8 +775,8 @@ end
All entries are optional, and there is no mandatory order. The plot All entries are optional, and there is no mandatory order. The plot
specification can either be: a complete plot/splot command (e.g., specification can either be: a complete plot/splot command (e.g.,
"plot sin(x)", both "plot" and "splot" can be abbreviated to "p" and "plot sin(x)", both "plot" and "splot" can be abbreviated to "p" and
"s" respectively), or a partial specification starting with the "with" "s" respectively), or a partial specification starting with the
clause (if it follows a data set). "with" clause (if it follows a data set).
The list of accepted keyword is as follows: The list of accepted keyword is as follows:
- `title::String`: plot title; - `title::String`: plot title;
@ -792,23 +792,25 @@ end
- `cbrange::NTuple{2, Number}`: Color box axis range; - `cbrange::NTuple{2, Number}`: Color box axis range;
The symbol for the above-mentioned keywords may also be used in a The symbol for the above-mentioned keywords may also be used in a
shortened form, as long as there is no ambiguity with other keywords. shortened form, as long as there is no ambiguity with other
E.g. you can use: `xr=(1,10)` in place of `xrange=(1,10)`. keywords. E.g. you can use: `xr=(1,10)` in place of
`xrange=(1,10)`.
Beside the above-mentioned keyword the following can also be used Beside the above-mentioned keyword the following can also be used
(although with no symbol shortening): (although with no symbol shortening):
- verb=Int: 0 or 1, to set the verbosity level; - `verb`: 0 or 1, to set the verbosity level;
- file="output.gp": send all the data and command to a file rather than - `file`: send all the data and command to a file rather than
to a Gnuplot process; to a Gnuplot process;
- stream=: send all the data and command to a stream rather than - `stream`: send all the data and command to a stream rather than
to a Gnuplot process; to a Gnuplot process;
- term="a string", or term=("a string", "a filename"): to specify the - `term`: `"a string"`, or `("a string", "a filename")`: to specify
terminal (and optionally the output file); the terminal (and optionally the output file);
## Examples: ## Examples:
# Simple examples with no data ### Simple examples with no data:
```
@gp "plot sin(x)" @gp "plot sin(x)"
@gp "plot sin(x)" "pl cos(x)" @gp "plot sin(x)" "pl cos(x)"
@gp "plo sin(x)" "s cos(x)" @gp "plo sin(x)" "s cos(x)"
@ -819,8 +821,10 @@ end
# Insert a 3 second pause between one plot and the next # Insert a 3 second pause between one plot and the next
@gp "plot sin(x)" 2 xr=(-2pi,2pi) "pause 3" "plot cos(4*x)" @gp "plot sin(x)" 2 xr=(-2pi,2pi) "pause 3" "plot cos(4*x)"
```
# Simple examples with data: ### Simple examples with data:
```
@gp "set key left" tit="My title" xr=(1,12) 1:10 "with lines tit 'Data'" @gp "set key left" tit="My title" xr=(1,12) 1:10 "with lines tit 'Data'"
x = collect(1.:10) x = collect(1.:10)
@ -832,36 +836,45 @@ end
lw = 3 lw = 3
@gp x x.^2 "w l lw \$lw" @gp x x.^2 "w l lw \$lw"
```
# A more complex example ### A more complex example
```
@gp("set grid", "set key left", xlog=true, ylog=true, @gp("set grid", "set key left", xlog=true, ylog=true,
title="My title", xlab="X label", ylab="Y label", title="My title", xlab="X label", ylab="Y label",
x, x.^0.5, "w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'", x, x.^0.5, "w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'",
x, x , "w l tit 'Pow 1' dt 1 lw 3 lc rgb 'blue'", x, x , "w l tit 'Pow 1' dt 1 lw 3 lc rgb 'blue'",
x, x.^2 , "w l tit 'Pow 2' dt 3 lw 2 lc rgb 'purple'") x, x.^2 , "w l tit 'Pow 2' dt 3 lw 2 lc rgb 'purple'")
```
# Multiplot example: ### Multiplot example:
```
@gp(xr=(-2pi,2pi), "unset key", @gp(xr=(-2pi,2pi), "unset key",
"set multi layout 2,2 title 'Multiplot title'", "set multi layout 2,2 title 'Multiplot title'",
1, "p sin(x)" , 1, "p sin(x)" ,
2, "p sin(2*x)", 2, "p sin(2*x)",
3, "p sin(3*x)", 3, "p sin(3*x)",
4, "p sin(4*x)") 4, "p sin(4*x)")
```
# or equivalently or equivalently
```
@gp xr=(-2pi,2pi) "unset key" "set multi layout 2,2 title 'Multiplot title'" :- @gp xr=(-2pi,2pi) "unset key" "set multi layout 2,2 title 'Multiplot title'" :-
for i in 1:4 for i in 1:4
@gp :- i "p sin(\$i*x)" :- @gp :- i "p sin(\$i*x)" :-
end end
@gp @gp
```
# Multiple gnuplot instances ### Multiple gnuplot sessions
```
@gp :GP1 "plot sin(x)" @gp :GP1 "plot sin(x)"
@gp :GP2 "plot sin(x)" @gp :GP2 "plot sin(x)"
quitall() quitall()
```
# Further examples ### Further examples
```
x = range(-2pi, stop=2pi, length=100); x = range(-2pi, stop=2pi, length=100);
y = 1.5 * sin.(0.3 .+ 0.7x) ; y = 1.5 * sin.(0.3 .+ 0.7x) ;
noise = randn(length(x))./2; noise = randn(length(x))./2;
@ -885,8 +898,10 @@ end
@gp :- "plot \\\$aa u 1:(f(\\\$1)) w lines tit 'Best fit'" :- @gp :- "plot \\\$aa u 1:(f(\\\$1)) w lines tit 'Best fit'" :-
@gp :- 2 xlab="X label" ylab="Residuals" :- @gp :- 2 xlab="X label" ylab="Residuals" :-
@gp :- "plot \\\$aa u 1:((f(\\\$1)-\\\$2) / \\\$3):(1) w errorbars notit" @gp :- "plot \\\$aa u 1:((f(\\\$1)-\\\$2) / \\\$3):(1) w errorbars notit"
```
# Display an image ### Display an image
```
using TestImages using TestImages
img = testimage("lena"); img = testimage("lena");
@gp img "w image" @gp img "w image"