From 06084d0bbb5469be5de51fc5437b9f8b478f4a2b Mon Sep 17 00:00:00 2001 From: Giorgio Calderone Date: Tue, 24 Mar 2020 23:20:17 +0100 Subject: [PATCH] Docs updated --- dev/advanced/index.html | 12 +++++++++++- dev/api/index.html | 4 ++-- dev/assets/basic1.png | Bin 0 -> 3946 bytes dev/assets/basic2.png | Bin 0 -> 4872 bytes dev/assets/basic3.png | Bin 0 -> 5738 bytes dev/assets/basic4.png | Bin 0 -> 3262 bytes dev/assets/basic5.png | Bin 0 -> 3752 bytes dev/assets/basic6.png | Bin 0 -> 4394 bytes dev/assets/basic7a.png | Bin 0 -> 65380 bytes dev/assets/basic7b.jpg | Bin 0 -> 42371 bytes dev/assets/basic8.jpg | Bin 0 -> 53240 bytes dev/assets/basic8a.jpg | Bin 0 -> 47429 bytes dev/assets/basic9.jpg | Bin 0 -> 46461 bytes dev/basic/index.html | 33 ++++++++++++++++++++++++++++++++- dev/examples/index.html | 12 +----------- dev/index.html | 2 +- dev/install/index.html | 5 ++--- dev/search/index.html | 2 +- dev/search_index.js | 2 +- 19 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 dev/assets/basic1.png create mode 100644 dev/assets/basic2.png create mode 100644 dev/assets/basic3.png create mode 100644 dev/assets/basic4.png create mode 100644 dev/assets/basic5.png create mode 100644 dev/assets/basic6.png create mode 100644 dev/assets/basic7a.png create mode 100644 dev/assets/basic7b.jpg create mode 100644 dev/assets/basic8.jpg create mode 100644 dev/assets/basic8a.jpg create mode 100644 dev/assets/basic9.jpg diff --git a/dev/advanced/index.html b/dev/advanced/index.html index 0cdae86..f3e4126 100644 --- a/dev/advanced/index.html +++ b/dev/advanced/index.html @@ -1,2 +1,12 @@ -Advanced usage · Gnuplot.jl
+Advanced techniques · Gnuplot.jl
diff --git a/dev/api/index.html b/dev/api/index.html index f863bb8..c66cb84 100644 --- a/dev/api/index.html +++ b/dev/api/index.html @@ -1,5 +1,5 @@ -API · Gnuplot.jl
Gnuplot.@gpMacro

@gp args...

The @gp macro (and its companion @gsp, for splot operations) allows to exploit all of the Gnuplot package functionalities using an extremely efficient and concise syntax. Both macros accept the same syntax, as described below.

The macros accepts any number of arguments, with the following meaning:

  • a symbol: the name of the session to use;
  • a string: a command (e.g. "set key left") or plot specification (e.g. "with lines");
  • a string starting with a $ sign: a data set name;
  • an Int > 0: the plot destination in a multiplot session;
  • a keyword/value pair: a keyword value (see below);
  • any other type: a dataset to be passed to Gnuplot. Each dataset must be terminated by either:
    • a string starting with a $ sign (i.e. the data set name);
    • or a string with the plot specifications (e.g. "with lines");
  • the :- symbol, used as first argument, avoids resetting the Gnuplot session. Used as last argument avoids immediate execution of the plot/splot command. This symbol can be used to split a single call into multiple ones.

All entries are optional, and there is no mandatory order. The plot specification can either be:

  • a complete plot/splot command (e.g., "plot sin(x)", both "plot" and "splot" can be abbreviated to "p" and "s" respectively);
  • or a partial specification starting with the "with" clause (if it follows a data set).

The list of accepted keyword is as follows:

  • title::String: plot title;
  • xlabel::String: X axis label;
  • ylabel::String: Y axis label;
  • zlabel::String: Z axis label;
  • xlog::Bool: logarithmic scale for X axis;
  • ylog::Bool: logarithmic scale for Y axis;
  • zlog::Bool: logarithmic scale for Z axis;
  • xrange::NTuple{2, Number}: X axis range;
  • yrange::NTuple{2, Number}: Y axis range;
  • zrange::NTuple{2, Number}: Z axis range;
  • cbrange::NTuple{2, Number}: Color box axis range;

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. E.g. you can use: xr=(1,10) in place of xrange=(1,10).

Examples:

Simple examples with no data:

@gp "plot sin(x)"
+API · Gnuplot.jl

API

The list of Gnuplot.jl exported symbols are as follows:

Gnuplot.@gpMacro

@gp args...

The @gp macro (and its companion @gsp, for splot operations) allows to exploit all of the Gnuplot package functionalities using an extremely efficient and concise syntax. Both macros accept the same syntax, as described below.

The macros accepts any number of arguments, with the following meaning:

  • a symbol: the name of the session to use;
  • a string: a command (e.g. "set key left") or plot specification (e.g. "with lines");
  • a string starting with a $ sign: a data set name;
  • an Int > 0: the plot destination in a multiplot session;
  • a keyword/value pair: a keyword value (see below);
  • any other type: a dataset to be passed to Gnuplot. Each dataset must be terminated by either:
    • a string starting with a $ sign (i.e. the data set name);
    • or a string with the plot specifications (e.g. "with lines");
  • the :- symbol, used as first argument, avoids resetting the Gnuplot session. Used as last argument avoids immediate execution of the plot/splot command. This symbol can be used to split a single call into multiple ones.

All entries are optional, and there is no mandatory order. The plot specification can either be:

  • a complete plot/splot command (e.g., "plot sin(x)", both "plot" and "splot" can be abbreviated to "p" and "s" respectively);
  • or a partial specification starting with the "with" clause (if it follows a data set).

The list of accepted keyword is as follows:

  • title::String: plot title;
  • xlabel::String: X axis label;
  • ylabel::String: Y axis label;
  • zlabel::String: Z axis label;
  • xlog::Bool: logarithmic scale for X axis;
  • ylog::Bool: logarithmic scale for Y axis;
  • zlog::Bool: logarithmic scale for Z axis;
  • xrange::NTuple{2, Number}: X axis range;
  • yrange::NTuple{2, Number}: Y axis range;
  • zrange::NTuple{2, Number}: Z axis range;
  • cbrange::NTuple{2, Number}: Color box axis range;

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. E.g. you can use: xr=(1,10) in place of xrange=(1,10).

Examples:

Simple examples with no data:

@gp "plot sin(x)"
 @gp "plot sin(x)" "pl cos(x)"
 @gp "plo sin(x)" "s cos(x)"
 
@@ -70,4 +70,4 @@ save(term="pdf", output="gnuplot.pdf")

source
+@gp "set size square" img "u 2:(-\$1):3:4:5 with rgbimage" # Correct orientationsource
Gnuplot.@gspMacro

@gsp

See documentation for @gp.

source
Gnuplot.saveFunction

save(...)

Save the data and commands in the current session to either:

  • the gnuplot process (i.e. produce a plot): save(term="", output="");
  • an IO stream: save(stream::IO; term="", output="");
  • a file: save(file::AbstractStrings; term="", output="").

To save the data and command from a specific session pass the ID as first argument, i.e.:

  • save(sid::Symbol, term="", output="");
  • save(sid::Symbol, file::AbstractStrings; term="", output="").

In all cases the term keyword allows to specify a gnuplot terminal, and the output keyword allows to specify an output file.

source
Missing docstring.

Missing docstring for palette. Check Documenter's build log for details.

Missing docstring.

Missing docstring for linestyles. Check Documenter's build log for details.

Missing docstring.

Missing docstring for hist. Check Documenter's build log for details.

Missing docstring.

Missing docstring for contourlines. Check Documenter's build log for details.

diff --git a/dev/assets/basic1.png b/dev/assets/basic1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6394f121be0b787e2fe6e7bfe56e26dff1d892 GIT binary patch literal 3946 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 S%>Ra6{{Y*Aj@A{HAoO3JjD80I literal 0 HcmV?d00001 diff --git a/dev/assets/basic2.png b/dev/assets/basic2.png new file mode 100644 index 0000000000000000000000000000000000000000..08e431e6254aede87ce31faf5d6ce95fab65cd77 GIT binary patch literal 4872 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 literal 0 HcmV?d00001 diff --git a/dev/assets/basic3.png b/dev/assets/basic3.png new file mode 100644 index 0000000000000000000000000000000000000000..550320cc45bc4c3eb74d9ccd5501c67bcc399a9d GIT binary patch literal 5738 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 literal 0 HcmV?d00001 diff --git a/dev/assets/basic6.png b/dev/assets/basic6.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1eab427552d4be5e32c9888282c745edf47390 GIT binary patch literal 4394 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 literal 0 HcmV?d00001 diff --git a/dev/assets/basic7a.png b/dev/assets/basic7a.png new file mode 100644 index 0000000000000000000000000000000000000000..02e29f5351f9bc5d333c7bc5c27039e5b246487f GIT binary patch literal 65380 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 literal 0 HcmV?d00001 diff --git a/dev/assets/basic7b.jpg b/dev/assets/basic7b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..030c9f1116962e6b88cd0224ed803f7f71ebd426 GIT binary patch literal 42371 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 literal 0 HcmV?d00001 diff --git a/dev/assets/basic8.jpg b/dev/assets/basic8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..773fe5327b7c084444209b4f63dd5b035144a416 GIT binary patch literal 53240 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%0Dl@AkD*Tb@1WPG#j(rCr?`95sC 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 S+rR$!uQ>bPh%?AeGHANQy literal 0 HcmV?d00001 diff --git a/dev/assets/basic9.jpg b/dev/assets/basic9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0e22d29251dc1e63eaf1508c3704f64a29985b9 GIT binary patch literal 46461 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 literal 0 HcmV?d00001 diff --git a/dev/basic/index.html b/dev/basic/index.html index dcaf118..2d54095 100644 --- a/dev/basic/index.html +++ b/dev/basic/index.html @@ -1,2 +1,33 @@ -Basic usage · Gnuplot.jl +Basic usage · Gnuplot.jl

Basic usage

The main purpose of the Gnuplot.jl package is to send data and commands to the underlying gnuplot process, in order to generate plots. Unlike other packages, however, the actual commands to plot, or the plot attributes, are not specified through function calls. This is what makes Gnuplot.jl easy to learn and use: there are no functions or keywords names to memorize[1].

The most important symbols exported by the package are the @gp (for 2D plots) and @gsp (for 3D plots) macros, both accepting any number of arguments, and whose meaning is interpreted as follows:

  • one, or a group of consecutive, array(s) build up a dataset. The different arrays are accessible as columns 1, 2, etc. from the gnuplot process. The number of required input arrays depends on the chosen plot style (see gnuplot documentation);

  • a string occurring before a dataset is interpreted as a gnuplot command (e.g. set grid);

  • a string occurring immediately after a dataset is interpreted as a plot element for the dataset, by which you can specify using clause, with clause, line styles, etc.;

  • the special symbol :-, whose meaning is to avoid creating a new plot (if given as first argument), or to avoid immediately running all commands to create the final plot (if given as last argument). Its purpose is to allow splitting one long statement into multiple (shorter) ones.

The above lists all the required concepts to follow the examples presented below. The @gp and @gsp macros also accepts further arguments, but their use will be discussed in Advanced techniques.

Plots in 2D

Here we will show a few examples to generate 2D plots. The examples are intentionally very simple to highlight the behavior of Gnuplot.jl. See Examples for more complex ones.

Simple examples involving just gnuplot commands:

Plot a sinusoid:

@gp "plot sin(x)"
+save(term="png size 480,360", output="src/assets/basic1.png") # hide


Plot two curves:

@gp "set key left" "plot sin(x)" "pl cos(x)"
+save(term="png size 480,360", output="src/assets/basic2.png") # hide

Note

Note that all gnuplot commands can be abbreviated as long as the resulting string is not ambiguous. In the example above we used pl in place of plot.


Split a @gp call in three statements:

@gp    "set grid"  :-
+@gp :- "p sin(x)"  :-
+@gp :- "plo cos(x)"
+save(term="png size 480,360", output="src/assets/basic3.png") # hide

Send data from Julia to gnuplot:

Plot a parabola

@gp (1:20).^2 
+save(term="png size 480,360", output="src/assets/basic4.png") # hide


Plot a parabola with scaled x axis, lines and legend

x = 1:20
+@gp "set key left"   x ./ 20   x.^2   "with lines tit 'Parabola'"
+save(term="png size 480,360", output="src/assets/basic5.png") # hide


Multiple datasets, logarithmic axis, labels and colors, etc.

x = 1:0.1:10
+@gp    "set grid" "set key left" "set logscale y"
+@gp :- "set title 'Plot title'" "set label 'X label'" "set xrange [0:12]"
+@gp :- x x.^0.5 "w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'"
+@gp :- x x      "w l tit 'Pow 1'   dt 1 lw 3 lc rgb 'blue'"
+@gp :- x x.^2   "w l tit 'Pow 2'   dt 3 lw 2 lc rgb 'purple'"
+save(term="png size 480,360", output="src/assets/basic6.png") # hide

Note

The above example lacks the trailing :- symbol. This means the plot will be updated at each command, adding one curve at a time.


Keywords for common commands

In order to avoid typing long, and very frequently used gnuplot commands, Gnuplot.jl provides a few keywords which can be used in both @gp and @sgp calls:

  • xrange=[low, high] => "set xrange [low:high];
  • yrange=[low, high] => "set yrange [low:high];
  • zrange=[low, high] => "set zrange [low:high];
  • cbrange=[low, high]=> "set cbrange[low:high];
  • key="..." => "set key ...";
  • title="..." => "set title \"...\"";
  • xlabel="..." => "set xlabel \"...\"";
  • ylabel="..." => "set ylabel \"...\"";
  • zlabel="..." => "set zlabel \"...\"";
  • xlog=true => set logscale x;
  • ylog=true => set logscale y;
  • zlog=true => set logscale z;

All such keywords can be abbreviated to unambiguous names.

By using the above keywords the first lines of the previous example:

@gp    "set grid" "set key left" "set logscale y"
+@gp :- "set title 'Plot title'" "set label 'X label'" "set xrange [0:12]"

can be replaced with a shorter version:

@gp    "set grid" k="left" ylog=true
+@gp :- tit="Plot title" xlab="X label" xr=[0,12]

Plot images

Gnuplot.jl can also display images, i.e. 2D arrays:

img = randn(Float64, 30, 50)
+img[10,:] .= -4
+@gp img "w image notit"
+save(term="jpeg size 480,360", output="src/assets/basic7a.png") # hide

Note that the first index corresponds to the X coordinate when the image is displayed.

The following example shows how to fix orientation of an image by means of the using clause (the TestImages package is required to run this example):

using TestImages
+img = testimage("lena");
+@gp "set size square" img "u 2:(-\$1):3:4:5 with rgbimage notit"
+save(term="jpeg size 480,360", output="src/assets/basic7b.jpg") # hide

Plots in 3D

3D plots follow the same rules as 2D ones, just replace the @gp macro with @gsp and add the required columns (according to the plotting style).

E.g., to plot a spiral increasing in size along the X direction:

x = 0:0.1:10pi
+@gsp x  sin.(x) .* x  cos.(x) .* x  x./15  "w p pt 7 ps var lc pal"
+save(term="jpeg size 640,480", output="src/assets/basic8.jpg") # hide

The keywords discussed above can also be used in 3D plots.

Palettes and line styles

The Gnuplot.jl package comes with all the ColorSchemes palettes readily available.

A gnuplot-compliant palette can be retrieved with palette(), and used as any other command. The previous example may use an alternative palette with:

x = 0:0.1:10pi
+@gsp palette(:viridis) x  sin.(x) .* x  cos.(x) .* x  x./15  "w p pt 7 ps var lc pal"
+save(term="jpeg size 640,480", output="src/assets/basic8a.jpg") # hide

The ColorSchemes palettes can also be used to generate line styles, by means of the linestyles() function, e.g.

@gp linestyles(:deepsea)
+x = 1:0.1:4pi
+for i in 1:5
+    @gp :- x i.* sin.(x) "w l notit ls $i lw 5"
+end
+save(term="jpeg size 480,360", output="src/assets/basic9.jpg") # hide

Exporting plots to files

The save() function allows to export all plots (as well as multiplots, see Multiplot) to a file using one of the many available gnuplot terminals. To check which terminals are available in your platform type set term in your gnuplot terminal.

All plots in this page have been saved with:

save(term="png size 480,360", output="output.png")

except the Lena image, saved with the jpeg terminal:

save(term="jpeg size 480,360", output="output.png")

Gnuplot scripts

Besides exporting plots in a file Gnuplot.jl can also save a script, i.e. a file containing the minimum set of data and commands required to generate a plot within gnuplot.

To generate a script for one of the example above use:

save("script.gp")

after the plot has been displayed. The script can then be used within a gnuplot session as follows:

gunplot> load 'script.gp'

to generate a plot identical to the original one, without using the Julia language.

The purpose of gnuplot scripts is to allow sharing all data, alongside a plot, in order to foster collaboration among scientists and replicability of results. Moreover, a script can be used at any time to change the details of a plot, without the need to re-run the Julia code used to generate it the first time.

Finally, the scripts are the only possible output when Dry sessions are used (i.e. when gnuplot is not available in the user platform.

  • 1a previous knowledge of gnuplot usage is, nevertheless, required.
diff --git a/dev/examples/index.html b/dev/examples/index.html index 7a0ba8e..f854d0d 100644 --- a/dev/examples/index.html +++ b/dev/examples/index.html @@ -1,12 +1,2 @@ -Examples · Gnuplot.jl

Examples


-@gp "set multiplot layout 1,2"
-@gp :- 1 "plot sin(x) w l"
-
-
-x = y = -10:0.33:10
-fz(x,y) = sin.(sqrt.(x.^2 + y.^2))./sqrt.(x.^2+y.^2)
-fxy = [fz(x,y) for x in x, y in y]
-
-@gsp :- 2 x y fxy "w pm3d notit"
-

@gp "set multiplot layout 1,2" @gp :- 2 "unset grid" "unset border" "unset tics" :- @gp :- 1 "plot sin(x) w l"

x = y = -10:0.33:10 fz(x,y) = sin.(sqrt.(x.^2 + y.^2))./sqrt.(x.^2+y.^2) fxy = [fz(x,y) for x in x, y in y]

@gsp :- 2 x y fxy "w pm3d notit"

+Examples · Gnuplot.jl
diff --git a/dev/index.html b/dev/index.html index a942b9f..9897cea 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Home · Gnuplot.jl

Gnuplot.jl

A Julia interface to Gnuplot.


The Gnuplot.jl package allows easy and fast use of gnuplot as a data visualization tool in Julia. Have a look at Basic usage and Examples for a quick overview. The package main features are:

  • fast time-to-first-plot (~1 sec);

  • extremely concise yet meaningful syntax, makes it ideal for interactive data exploration;

  • no need to learn new API functions or keywords: only two macros (@gp for 2D plots, @gsp for 3D plots) and a basic knowledge of gnuplot are enough to generate the most complex plots;

  • transparent interface between Julia and gnuplot to exploit all functionalities of the latter, both present and future ones;

  • fast data transmission through system pipes (no temporary files involved);

  • availability of all the palettes from ColorSchemes;

  • support for multiple plots in one window, mulitple plotting windows, as well as ASCII and Sixel plots (to plot directly in a terminal);

  • support for histograms (both 1D and 2D);

  • enhanced support for contour plots;

  • export to a huge number of formats such as pdf, png, $\LaTeX$, svg, etc. (actually all those supported by gnuplot);

  • save sessions into gnuplot scripts enables easy plot reproducibility and modfications.


Yet another plotting package?

A powerful plottig framework is among the most important tool in the toolbox of any modern scientist and engineer. As such, it is hard to find a single package to fit all needs, and many solutions are indeed available in the Julia ecosystem.

Gnuplot.jl package fills the niche of users who needs:

  1. publication-quality plots, by exploiting the capabilities of a widely used tool such as gnuplot, and its many output formats available;
  2. a well-documented framework, by taking advantage of all the gnuplot documentation, tutorials and examples available on the web;
  3. a fast response, by relying on an external program (rather than on a large Julia code base);
  4. an interactive data exploration framework, by exposing a carefully designed, extremely concise and easy to remember syntax (at least for users with minimal gnuplot knowledge);
  5. a procedure to foster plot reproducibility by sharing just the data and commands in the form of gnuplot scripts, rather than the original Julia code.

Unlike other packages Gnuplot.jl is not a pure Julia solution as it depends on an external package to actually generate plots. However, if gnuplot is not available on a given platform, the package could still be used in "dry" mode, and no error for a missing dependency will be raised (see Dry sessions).

The Gnuplot.jl package development follows a minimalistic approach: it is essentially a thin layer to send data and string commands to gnuplot. This way all underlying capabilities, both present and future ones, are automatically exposed to Julia user, with no need to implement dedicated wrappers.

The functionalities 1, 2 and 3 listed above are similar to those provided by the Gaston package. Gnuplot.jl also provides features 4 and 5, as well as the minimalistic approach.


Do Gnuplot.jl suits my needs?

Any modern plotting package is able to produce a simple scatter plot, with custom symbols, line styles, colors and axis labels. Indeed, this is exactly the example that is reported in every package documentation (also here: see Plots in 2D). Still, producing complex and publication-quality plots is not an easy task. As a consequence is also not easy to determine whether a package can cope with the most difficult cases (unless you actually try it out) and a reasonable choice is typically to rely on the size of the user base, the availability of documentation / tutorials, and the possibility to preview complex examples.

Gnuplot.jl aims to be ready for even the most challenging plots by relying on the widely and long lasting used gnuplot application, and by allowing each native feature (both present and future ones) to be immediately available in the Julia language. Moreover, Gnuplot.jl provides a unique syntax specifically aimed to increase productivity while performing interactive data exploration.

Last but not least, have a look at the Gnuplot.jl Examples page.


Notation

In this documentation:

  • Gnuplot.jl refers to the Julia package;
  • gnuplot refers to the gnuplot application.

Table of Contents

+Home · Gnuplot.jl

Gnuplot.jl

A Julia interface to Gnuplot.

The Gnuplot.jl package allows easy and fast use of gnuplot as a data visualization tool in Julia. Have a look at Basic usage and Examples for a quick overview. The package main features are:

  • fast time-to-first-plot (~1 sec);

  • extremely concise yet meaningful syntax, makes it ideal for interactive data exploration;

  • no need to learn new API functions or keywords: only two macros (@gp for 2D plots, @gsp for 3D plots) and a basic knowledge of gnuplot are enough to generate the most complex plots;

  • transparent interface between Julia and gnuplot to exploit all functionalities of the latter, both present and future ones;

  • fast data transmission through system pipes (no temporary files involved);

  • availability of all the palettes from ColorSchemes;

  • support for multiple plots in one window, multiple plotting windows, as well as ASCII and Sixel plots (to plot directly in a terminal);

  • support for histograms (both 1D and 2D);

  • enhanced support for contour plots;

  • export to a huge number of formats such as pdf, png, $\LaTeX$, svg, etc. (actually all those supported by gnuplot);

  • save sessions into gnuplot scripts enables easy plot reproducibility and modifications.

Yet another plotting package?

A powerful plotting framework is among the most important tool in the toolbox of any modern scientist and engineer. As such, it is hard to find a single package to fit all needs, and many solutions are indeed available in the Julia ecosystem.

Gnuplot.jl package fills the niche of users who needs:

  1. publication-quality plots, by exploiting the capabilities of a widely used tool such as gnuplot, and its many output formats available;
  2. a well-documented framework, by taking advantage of all the gnuplot documentation, tutorials and examples available on the web;
  3. a fast response, by relying on an external program (rather than on a large Julia code base);
  4. an interactive data exploration framework, by exposing a carefully designed, extremely concise and easy to remember syntax (at least for users with minimal gnuplot knowledge);
  5. a procedure to foster plot reproducibility by sharing just the data and commands in the form of gnuplot scripts, rather than the original Julia code.

Unlike other packages Gnuplot.jl is not a pure Julia solution as it depends on an external package to actually generate plots. However, if gnuplot is not available on a given platform, the package could still be used in "dry" mode, and no error for a missing dependency will be raised (see Dry sessions).

The Gnuplot.jl package development follows a minimalistic approach: it is essentially a thin layer to send data and string commands to gnuplot. This way all underlying capabilities, both present and future ones, are automatically exposed to Julia user, with no need to implement dedicated wrappers.

The functionalities 1, 2 and 3 listed above are similar to those provided by the Gaston package. Gnuplot.jl also provides features 4 and 5, as well as the minimalistic approach.

Do Gnuplot.jl suits my needs?

Any modern plotting package is able to produce a simple scatter plot, with custom symbols, line styles, colors and axis labels. Indeed, this is exactly the example that is reported in every package documentation (also here: see Plots in 2D). Still, producing complex and publication-quality plots is not an easy task. As a consequence is also not easy to determine whether a package can cope with the most difficult cases (unless you actually try it out) and a reasonable choice is typically to rely on the size of the user base, the availability of documentation / tutorials, and the possibility to preview complex examples.

Gnuplot.jl aims to be ready for even the most challenging plots by relying on the widely and long lasting used gnuplot application, and by allowing each native feature (both present and future ones) to be immediately available in the Julia language. Moreover, Gnuplot.jl provides a unique syntax specifically aimed to increase productivity while performing interactive data exploration.

Last but not least, have a look at the Gnuplot.jl Examples page.

Notation

In this documentation:

  • Gnuplot.jl refers to the Julia package;
  • gnuplot refers to the gnuplot application.

Table of Contents

diff --git a/dev/install/index.html b/dev/install/index.html index b208070..8003f83 100644 --- a/dev/install/index.html +++ b/dev/install/index.html @@ -1,4 +1,3 @@ -Installation · Gnuplot.jl

Installation

Prerequisite

In order to use the Gnuplot.jl package you'll need gnuplot (ver. >= 5.0) installed on your system, and its executable available in your path.

Installation

In the Julia REPL type:

using Pkg
-Pkg.add("Gnuplot")
-using Gnuplot
+Installation · Gnuplot.jl

Installation

Prerequisite

In order to use the Gnuplot.jl package you'll need gnuplot (ver. >= 4.7) installed on your system, and its executable available in your path.

If gnuplot is not available in your platform you can still use Gnuplot.jl in "dry" mode (see Dry sessions). In this case a plot can not be generated, but you may still generate Gnuplot scripts.

Package installation

In the Julia REPL type:

julia> ]add Gnuplot

Then hit backspace key to return to Julia REPL.

Check installation

Check execution and version of the underlying gnuplot process:

julia> using Gnuplot
+julia> Gnuplot.gpversion()

Generate the first plot:

julia> @gp 1:9
diff --git a/dev/search/index.html b/dev/search/index.html index 115c4d7..2557023 100644 --- a/dev/search/index.html +++ b/dev/search/index.html @@ -1,2 +1,2 @@ -Search · Gnuplot.jl

Loading search...

    +Search · Gnuplot.jl

    Loading search...

      diff --git a/dev/search_index.js b/dev/search_index.js index 8b35027..7080d2c 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"api/#","page":"API","title":"API","text":"@gp","category":"page"},{"location":"api/#Gnuplot.@gp","page":"API","title":"Gnuplot.@gp","text":"@gp args...\n\nThe @gp macro (and its companion @gsp, for splot operations) allows to exploit all of the Gnuplot package functionalities using an extremely efficient and concise syntax. Both macros accept the same syntax, as described below.\n\nThe macros accepts any number of arguments, with the following meaning:\n\na symbol: the name of the session to use;\na string: a command (e.g. \"set key left\") or plot specification (e.g. \"with lines\");\na string starting with a $ sign: a data set name;\nan Int > 0: the plot destination in a multiplot session;\na keyword/value pair: a keyword value (see below);\nany other type: a dataset to be passed to Gnuplot. Each dataset must be terminated by either:\na string starting with a $ sign (i.e. the data set name);\nor a string with the plot specifications (e.g. \"with lines\");\nthe :- symbol, used as first argument, avoids resetting the Gnuplot session. Used as last argument avoids immediate execution of the plot/splot command. This symbol can be used to split a single call into multiple ones.\n\nAll entries are optional, and there is no mandatory order. The plot specification can either be:\n\na complete plot/splot command (e.g., \"plot sin(x)\", both \"plot\" and \"splot\" can be abbreviated to \"p\" and \"s\" respectively);\nor a partial specification starting with the \"with\" clause (if it follows a data set).\n\nThe list of accepted keyword is as follows:\n\ntitle::String: plot title;\nxlabel::String: X axis label;\nylabel::String: Y axis label;\nzlabel::String: Z axis label;\nxlog::Bool: logarithmic scale for X axis;\nylog::Bool: logarithmic scale for Y axis;\nzlog::Bool: logarithmic scale for Z axis;\nxrange::NTuple{2, Number}: X axis range;\nyrange::NTuple{2, Number}: Y axis range;\nzrange::NTuple{2, Number}: Z axis range;\ncbrange::NTuple{2, Number}: Color box axis range;\n\nThe symbol for the above-mentioned keywords may also be used in a shortened form, as long as there is no ambiguity with other keywords. E.g. you can use: xr=(1,10) in place of xrange=(1,10).\n\nExamples:\n\nSimple examples with no data:\n\n@gp \"plot sin(x)\"\n@gp \"plot sin(x)\" \"pl cos(x)\"\n@gp \"plo sin(x)\" \"s cos(x)\"\n\n# Split a `@gp` call in two\n@gp \"plot sin(x)\" :-\n@gp :- \"plot cos(x)\"\n\n# Insert a 3 second pause between one plot and the next\n@gp \"plot sin(x)\" 2 xr=(-2pi,2pi) \"pause 3\" \"plot cos(4*x)\"\n\nSimple examples with data:\n\n@gp \"set key left\" tit=\"My title\" xr=(1,12) 1:10 \"with lines tit 'Data'\"\n\nx = collect(1.:10)\n@gp x\n@gp x x\n@gp x -x\n@gp x x.^2\n@gp x x.^2 \"w l\"\n\nlw = 3\n@gp x x.^2 \"w l lw $lw\"\n\nA more complex example\n\n@gp(\"set grid\", \"set key left\", xlog=true, ylog=true,\n title=\"My title\", xlab=\"X label\", ylab=\"Y label\",\n x, x.^0.5, \"w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'\",\n x, x , \"w l tit 'Pow 1' dt 1 lw 3 lc rgb 'blue'\",\n x, x.^2 , \"w l tit 'Pow 2' dt 3 lw 2 lc rgb 'purple'\")\n\nMultiplot example:\n\n@gp(xr=(-2pi,2pi), \"unset key\",\n \"set multi layout 2,2 title 'Multiplot title'\",\n 1, \"p sin(x)\" ,\n 2, \"p sin(2*x)\",\n 3, \"p sin(3*x)\",\n 4, \"p sin(4*x)\")\n\nor equivalently\n\n@gp xr=(-2pi,2pi) \"unset key\" \"set multi layout 2,2 title 'Multiplot title'\" :-\nfor i in 1:4\n @gp :- i \"p sin($i*x)\" :-\nend\n@gp\n\nMultiple gnuplot sessions\n\n@gp :GP1 \"plot sin(x)\"\n@gp :GP2 \"plot sin(x)\"\n\nGnuplot.quitall()\n\nFurther examples\n\nx = range(-2pi, stop=2pi, length=100);\ny = 1.5 * sin.(0.3 .+ 0.7x) ;\nnoise = randn(length(x))./2;\ne = 0.5 * fill(1, size(x));\n\nname = \"\\$MyDataSet1\"\n@gp x y name \"plot $name w l\" \"pl $name u 1:(2*\\$2) w l\"\n\n@gsp randn(Float64, 30, 50)\n@gp randn(Float64, 30, 50) \"w image\"\n@gsp x y y\n\n@gp(\"set key horizontal\", \"set grid\",\n xrange=(-7,7), ylabel=\"Y label\",\n x, y, \"w l t 'Real model' dt 2 lw 2 lc rgb 'red'\",\n x, y+noise, e, \"w errorbars t 'Data'\")\n\n@gp \"f(x) = a * sin(b + c*x); a = 1; b = 1; c = 1;\" :-\n@gp :- x y+noise e name :-\n@gp :- \"fit f(x) $name u 1:2:3 via a, b, c;\" :-\n@gp :- \"set multiplot layout 2,1\" :-\n@gp :- \"plot $name w points\" ylab=\"Data and model\" :-\n@gp :- \"plot $name u 1:(f(\\$1)) w lines\" :-\n@gp :- 2 xlab=\"X label\" ylab=\"Residuals\" :-\n@gp :- \"plot $name u 1:((f(\\$1)-\\$2) / \\$3):(1) w errorbars notit\"\n\n# Retrieve values for a, b and c\na = Meta.parse(Gnuplot.exec(\"print a\"))\nb = Meta.parse(Gnuplot.exec(\"print b\"))\nc = Meta.parse(Gnuplot.exec(\"print c\"))\n\n# Save to a PDF file\nsave(term=\"pdf\", output=\"gnuplot.pdf\")\n\nDisplay an image\n\nusing TestImages\nimg = testimage(\"lena\");\n@gp img \"w image\"\n@gp \"set size square\" img \"w rgbimage\" # Color image with correct proportions\n@gp \"set size square\" img \"u 2:(-\\$1):3:4:5 with rgbimage\" # Correct orientation\n\n\n\n\n\n","category":"macro"},{"location":"basic/#Basic-usage-1","page":"Basic usage","title":"Basic usage","text":"","category":"section"},{"location":"basic/#Plots-in-2D-1","page":"Basic usage","title":"Plots in 2D","text":"","category":"section"},{"location":"basic/#Plots-in-3D-1","page":"Basic usage","title":"Plots in 3D","text":"","category":"section"},{"location":"basic/#Palettes-and-linestyles-1","page":"Basic usage","title":"Palettes and linestyles","text":"","category":"section"},{"location":"basic/#Exporting-1","page":"Basic usage","title":"Exporting","text":"","category":"section"},{"location":"basic/#Generating-scripts-1","page":"Basic usage","title":"Generating scripts","text":"","category":"section"},{"location":"basic/#Quick-reference-1","page":"Basic usage","title":"Quick reference","text":"","category":"section"},{"location":"examples/#Examples-1","page":"Examples","title":"Examples","text":"","category":"section"},{"location":"examples/#","page":"Examples","title":"Examples","text":"\n@gp \"set multiplot layout 1,2\"\n@gp :- 1 \"plot sin(x) w l\"\n\n\nx = y = -10:0.33:10\nfz(x,y) = sin.(sqrt.(x.^2 + y.^2))./sqrt.(x.^2+y.^2)\nfxy = [fz(x,y) for x in x, y in y]\n\n@gsp :- 2 x y fxy \"w pm3d notit\"\n","category":"page"},{"location":"examples/#","page":"Examples","title":"Examples","text":"@gp \"set multiplot layout 1,2\" @gp :- 2 \"unset grid\" \"unset border\" \"unset tics\" :- @gp :- 1 \"plot sin(x) w l\"","category":"page"},{"location":"examples/#","page":"Examples","title":"Examples","text":"x = y = -10:0.33:10 fz(x,y) = sin.(sqrt.(x.^2 + y.^2))./sqrt.(x.^2+y.^2) fxy = [fz(x,y) for x in x, y in y]","category":"page"},{"location":"examples/#","page":"Examples","title":"Examples","text":"@gsp :- 2 x y fxy \"w pm3d notit\"","category":"page"},{"location":"advanced/#Advanced-techniques-1","page":"Advanced usage","title":"Advanced techniques","text":"","category":"section"},{"location":"advanced/#Multiplot-1","page":"Advanced usage","title":"Multiplot","text":"","category":"section"},{"location":"advanced/#Multiple-processes-1","page":"Advanced usage","title":"Multiple processes","text":"","category":"section"},{"location":"advanced/#Named-datasets-1","page":"Advanced usage","title":"Named datasets","text":"","category":"section"},{"location":"advanced/#Histograms-(1D)-1","page":"Advanced usage","title":"Histograms (1D)","text":"","category":"section"},{"location":"advanced/#Histograms-(2D)-1","page":"Advanced usage","title":"Histograms (2D)","text":"","category":"section"},{"location":"advanced/#Contour-lines-1","page":"Advanced usage","title":"Contour lines","text":"","category":"section"},{"location":"advanced/#Animations-1","page":"Advanced usage","title":"Animations","text":"","category":"section"},{"location":"advanced/#Dry-sessions-1","page":"Advanced usage","title":"Dry sessions","text":"","category":"section"},{"location":"advanced/#Options-1","page":"Advanced usage","title":"Options","text":"","category":"section"},{"location":"install/#Installation-1","page":"Installation","title":"Installation","text":"","category":"section"},{"location":"install/#Prerequisite-1","page":"Installation","title":"Prerequisite","text":"","category":"section"},{"location":"install/#","page":"Installation","title":"Installation","text":"In order to use the Gnuplot.jl package you'll need gnuplot (ver. >= 5.0) installed on your system, and its executable available in your path.","category":"page"},{"location":"install/#Installation-2","page":"Installation","title":"Installation","text":"","category":"section"},{"location":"install/#","page":"Installation","title":"Installation","text":"In the Julia REPL type:","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"using Pkg\nPkg.add(\"Gnuplot\")\nusing Gnuplot","category":"page"},{"location":"#Gnuplot.jl-1","page":"Home","title":"Gnuplot.jl","text":"","category":"section"},{"location":"#A-Julia-interface-to-Gnuplot.-1","page":"Home","title":"A Julia interface to Gnuplot.","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"","category":"page"},{"location":"#","page":"Home","title":"Home","text":"The Gnuplot.jl package allows easy and fast use of gnuplot as a data visualization tool in Julia. Have a look at Basic usage and Examples for a quick overview. The package main features are:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"fast time-to-first-plot (~1 sec);\nextremely concise yet meaningful syntax, makes it ideal for interactive data exploration;\nno need to learn new API functions or keywords: only two macros (@gp for 2D plots, @gsp for 3D plots) and a basic knowledge of gnuplot are enough to generate the most complex plots;\ntransparent interface between Julia and gnuplot to exploit all functionalities of the latter, both present and future ones;\nfast data transmission through system pipes (no temporary files involved);\navailability of all the palettes from ColorSchemes;\nsupport for multiple plots in one window, mulitple plotting windows, as well as ASCII and Sixel plots (to plot directly in a terminal);\nsupport for histograms (both 1D and 2D);\nenhanced support for contour plots;\nexport to a huge number of formats such as pdf, png, LaTeX, svg, etc. (actually all those supported by gnuplot);\nsave sessions into gnuplot scripts enables easy plot reproducibility and modfications.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"","category":"page"},{"location":"#Yet-another-plotting-package?-1","page":"Home","title":"Yet another plotting package?","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"A powerful plottig framework is among the most important tool in the toolbox of any modern scientist and engineer. As such, it is hard to find a single package to fit all needs, and many solutions are indeed available in the Julia ecosystem.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl package fills the niche of users who needs:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"publication-quality plots, by exploiting the capabilities of a widely used tool such as gnuplot, and its many output formats available;\na well-documented framework, by taking advantage of all the gnuplot documentation, tutorials and examples available on the web;\na fast response, by relying on an external program (rather than on a large Julia code base);\nan interactive data exploration framework, by exposing a carefully designed, extremely concise and easy to remember syntax (at least for users with minimal gnuplot knowledge);\na procedure to foster plot reproducibility by sharing just the data and commands in the form of gnuplot scripts, rather than the original Julia code.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Unlike other packages Gnuplot.jl is not a pure Julia solution as it depends on an external package to actually generate plots. However, if gnuplot is not available on a given platform, the package could still be used in \"dry\" mode, and no error for a missing dependency will be raised (see Dry sessions).","category":"page"},{"location":"#","page":"Home","title":"Home","text":"The Gnuplot.jl package development follows a minimalistic approach: it is essentially a thin layer to send data and string commands to gnuplot. This way all underlying capabilities, both present and future ones, are automatically exposed to Julia user, with no need to implement dedicated wrappers.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"The functionalities 1, 2 and 3 listed above are similar to those provided by the Gaston package. Gnuplot.jl also provides features 4 and 5, as well as the minimalistic approach.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"","category":"page"},{"location":"#Do-Gnuplot.jl-suits-my-needs?-1","page":"Home","title":"Do Gnuplot.jl suits my needs?","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"Any modern plotting package is able to produce a simple scatter plot, with custom symbols, line styles, colors and axis labels. Indeed, this is exactly the example that is reported in every package documentation (also here: see Plots in 2D). Still, producing complex and publication-quality plots is not an easy task. As a consequence is also not easy to determine whether a package can cope with the most difficult cases (unless you actually try it out) and a reasonable choice is typically to rely on the size of the user base, the availability of documentation / tutorials, and the possibility to preview complex examples.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl aims to be ready for even the most challenging plots by relying on the widely and long lasting used gnuplot application, and by allowing each native feature (both present and future ones) to be immediately available in the Julia language. Moreover, Gnuplot.jl provides a unique syntax specifically aimed to increase productivity while performing interactive data exploration.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Last but not least, have a look at the Gnuplot.jl Examples page.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"","category":"page"},{"location":"#Notation-1","page":"Home","title":"Notation","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"In this documentation:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl refers to the Julia package;\ngnuplot refers to the gnuplot application.","category":"page"},{"location":"#Table-of-Contents-1","page":"Home","title":"Table of Contents","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"Pages = [\"index.md\", \"install.md\", \"basic.md\", \"advanced.md\", \"examples.md\", \"api.md\"]","category":"page"}] +[{"location":"api/#API-1","page":"API","title":"API","text":"","category":"section"},{"location":"api/#","page":"API","title":"API","text":"The list of Gnuplot.jl exported symbols are as follows:","category":"page"},{"location":"api/#","page":"API","title":"API","text":"@gp\n@gsp\nsave\npalette\nlinestyles\nhist\ncontourlines","category":"page"},{"location":"api/#Gnuplot.@gp","page":"API","title":"Gnuplot.@gp","text":"@gp args...\n\nThe @gp macro (and its companion @gsp, for splot operations) allows to exploit all of the Gnuplot package functionalities using an extremely efficient and concise syntax. Both macros accept the same syntax, as described below.\n\nThe macros accepts any number of arguments, with the following meaning:\n\na symbol: the name of the session to use;\na string: a command (e.g. \"set key left\") or plot specification (e.g. \"with lines\");\na string starting with a $ sign: a data set name;\nan Int > 0: the plot destination in a multiplot session;\na keyword/value pair: a keyword value (see below);\nany other type: a dataset to be passed to Gnuplot. Each dataset must be terminated by either:\na string starting with a $ sign (i.e. the data set name);\nor a string with the plot specifications (e.g. \"with lines\");\nthe :- symbol, used as first argument, avoids resetting the Gnuplot session. Used as last argument avoids immediate execution of the plot/splot command. This symbol can be used to split a single call into multiple ones.\n\nAll entries are optional, and there is no mandatory order. The plot specification can either be:\n\na complete plot/splot command (e.g., \"plot sin(x)\", both \"plot\" and \"splot\" can be abbreviated to \"p\" and \"s\" respectively);\nor a partial specification starting with the \"with\" clause (if it follows a data set).\n\nThe list of accepted keyword is as follows:\n\ntitle::String: plot title;\nxlabel::String: X axis label;\nylabel::String: Y axis label;\nzlabel::String: Z axis label;\nxlog::Bool: logarithmic scale for X axis;\nylog::Bool: logarithmic scale for Y axis;\nzlog::Bool: logarithmic scale for Z axis;\nxrange::NTuple{2, Number}: X axis range;\nyrange::NTuple{2, Number}: Y axis range;\nzrange::NTuple{2, Number}: Z axis range;\ncbrange::NTuple{2, Number}: Color box axis range;\n\nThe symbol for the above-mentioned keywords may also be used in a shortened form, as long as there is no ambiguity with other keywords. E.g. you can use: xr=(1,10) in place of xrange=(1,10).\n\nExamples:\n\nSimple examples with no data:\n\n@gp \"plot sin(x)\"\n@gp \"plot sin(x)\" \"pl cos(x)\"\n@gp \"plo sin(x)\" \"s cos(x)\"\n\n# Split a `@gp` call in two\n@gp \"plot sin(x)\" :-\n@gp :- \"plot cos(x)\"\n\n# Insert a 3 second pause between one plot and the next\n@gp \"plot sin(x)\" 2 xr=(-2pi,2pi) \"pause 3\" \"plot cos(4*x)\"\n\nSimple examples with data:\n\n@gp \"set key left\" tit=\"My title\" xr=(1,12) 1:10 \"with lines tit 'Data'\"\n\nx = collect(1.:10)\n@gp x\n@gp x x\n@gp x -x\n@gp x x.^2\n@gp x x.^2 \"w l\"\n\nlw = 3\n@gp x x.^2 \"w l lw $lw\"\n\nA more complex example\n\n@gp(\"set grid\", \"set key left\", xlog=true, ylog=true,\n title=\"My title\", xlab=\"X label\", ylab=\"Y label\",\n x, x.^0.5, \"w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'\",\n x, x , \"w l tit 'Pow 1' dt 1 lw 3 lc rgb 'blue'\",\n x, x.^2 , \"w l tit 'Pow 2' dt 3 lw 2 lc rgb 'purple'\")\n\nMultiplot example:\n\n@gp(xr=(-2pi,2pi), \"unset key\",\n \"set multi layout 2,2 title 'Multiplot title'\",\n 1, \"p sin(x)\" ,\n 2, \"p sin(2*x)\",\n 3, \"p sin(3*x)\",\n 4, \"p sin(4*x)\")\n\nor equivalently\n\n@gp xr=(-2pi,2pi) \"unset key\" \"set multi layout 2,2 title 'Multiplot title'\" :-\nfor i in 1:4\n @gp :- i \"p sin($i*x)\" :-\nend\n@gp\n\nMultiple gnuplot sessions\n\n@gp :GP1 \"plot sin(x)\"\n@gp :GP2 \"plot sin(x)\"\n\nGnuplot.quitall()\n\nFurther examples\n\nx = range(-2pi, stop=2pi, length=100);\ny = 1.5 * sin.(0.3 .+ 0.7x) ;\nnoise = randn(length(x))./2;\ne = 0.5 * fill(1, size(x));\n\nname = \"\\$MyDataSet1\"\n@gp x y name \"plot $name w l\" \"pl $name u 1:(2*\\$2) w l\"\n\n@gsp randn(Float64, 30, 50)\n@gp randn(Float64, 30, 50) \"w image\"\n@gsp x y y\n\n@gp(\"set key horizontal\", \"set grid\",\n xrange=(-7,7), ylabel=\"Y label\",\n x, y, \"w l t 'Real model' dt 2 lw 2 lc rgb 'red'\",\n x, y+noise, e, \"w errorbars t 'Data'\")\n\n@gp \"f(x) = a * sin(b + c*x); a = 1; b = 1; c = 1;\" :-\n@gp :- x y+noise e name :-\n@gp :- \"fit f(x) $name u 1:2:3 via a, b, c;\" :-\n@gp :- \"set multiplot layout 2,1\" :-\n@gp :- \"plot $name w points\" ylab=\"Data and model\" :-\n@gp :- \"plot $name u 1:(f(\\$1)) w lines\" :-\n@gp :- 2 xlab=\"X label\" ylab=\"Residuals\" :-\n@gp :- \"plot $name u 1:((f(\\$1)-\\$2) / \\$3):(1) w errorbars notit\"\n\n# Retrieve values for a, b and c\na = Meta.parse(Gnuplot.exec(\"print a\"))\nb = Meta.parse(Gnuplot.exec(\"print b\"))\nc = Meta.parse(Gnuplot.exec(\"print c\"))\n\n# Save to a PDF file\nsave(term=\"pdf\", output=\"gnuplot.pdf\")\n\nDisplay an image\n\nusing TestImages\nimg = testimage(\"lena\");\n@gp img \"w image\"\n@gp \"set size square\" img \"w rgbimage\" # Color image with correct proportions\n@gp \"set size square\" img \"u 2:(-\\$1):3:4:5 with rgbimage\" # Correct orientation\n\n\n\n\n\n","category":"macro"},{"location":"api/#Gnuplot.@gsp","page":"API","title":"Gnuplot.@gsp","text":"@gsp\n\nSee documentation for @gp.\n\n\n\n\n\n","category":"macro"},{"location":"api/#Gnuplot.save","page":"API","title":"Gnuplot.save","text":"save(...)\n\nSave the data and commands in the current session to either:\n\nthe gnuplot process (i.e. produce a plot): save(term=\"\", output=\"\");\nan IO stream: save(stream::IO; term=\"\", output=\"\");\na file: save(file::AbstractStrings; term=\"\", output=\"\").\n\nTo save the data and command from a specific session pass the ID as first argument, i.e.:\n\nsave(sid::Symbol, term=\"\", output=\"\");\nsave(sid::Symbol, file::AbstractStrings; term=\"\", output=\"\").\n\nIn all cases the term keyword allows to specify a gnuplot terminal, and the output keyword allows to specify an output file.\n\n\n\n\n\n","category":"function"},{"location":"basic/#Basic-usage-1","page":"Basic usage","title":"Basic usage","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The main purpose of the Gnuplot.jl package is to send data and commands to the underlying gnuplot process, in order to generate plots. Unlike other packages, however, the actual commands to plot, or the plot attributes, are not specified through function calls. This is what makes Gnuplot.jl easy to learn and use: there are no functions or keywords names to memorize[1].","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The most important symbols exported by the package are the @gp (for 2D plots) and @gsp (for 3D plots) macros, both accepting any number of arguments, and whose meaning is interpreted as follows:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"one, or a group of consecutive, array(s) build up a dataset. The different arrays are accessible as columns 1, 2, etc. from the gnuplot process. The number of required input arrays depends on the chosen plot style (see gnuplot documentation);\na string occurring before a dataset is interpreted as a gnuplot command (e.g. set grid);\na string occurring immediately after a dataset is interpreted as a plot element for the dataset, by which you can specify using clause, with clause, line styles, etc.;\nthe special symbol :-, whose meaning is to avoid creating a new plot (if given as first argument), or to avoid immediately running all commands to create the final plot (if given as last argument). Its purpose is to allow splitting one long statement into multiple (shorter) ones.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The above lists all the required concepts to follow the examples presented below. The @gp and @gsp macros also accepts further arguments, but their use will be discussed in Advanced techniques.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"[1]: a previous knowledge of gnuplot usage is, nevertheless, required.","category":"page"},{"location":"basic/#Plots-in-2D-1","page":"Basic usage","title":"Plots in 2D","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"Here we will show a few examples to generate 2D plots. The examples are intentionally very simple to highlight the behavior of Gnuplot.jl. See Examples for more complex ones.","category":"page"},{"location":"basic/#Simple-examples-involving-just-gnuplot-commands:-1","page":"Basic usage","title":"Simple examples involving just gnuplot commands:","text":"","category":"section"},{"location":"basic/#Plot-a-sinusoid:-1","page":"Basic usage","title":"Plot a sinusoid:","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp \"plot sin(x)\"\nsave(term=\"png size 480,360\", output=\"src/assets/basic1.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"","category":"page"},{"location":"basic/#Plot-two-curves:-1","page":"Basic usage","title":"Plot two curves:","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp \"set key left\" \"plot sin(x)\" \"pl cos(x)\"\nsave(term=\"png size 480,360\", output=\"src/assets/basic2.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"note: Note\nNote that all gnuplot commands can be abbreviated as long as the resulting string is not ambiguous. In the example above we used pl in place of plot.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"","category":"page"},{"location":"basic/#Split-a-@gp-call-in-three-statements:-1","page":"Basic usage","title":"Split a @gp call in three statements:","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp \"set grid\" :-\n@gp :- \"p sin(x)\" :-\n@gp :- \"plo cos(x)\"\nsave(term=\"png size 480,360\", output=\"src/assets/basic3.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#Send-data-from-Julia-to-gnuplot:-1","page":"Basic usage","title":"Send data from Julia to gnuplot:","text":"","category":"section"},{"location":"basic/#Plot-a-parabola-1","page":"Basic usage","title":"Plot a parabola","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp (1:20).^2 \nsave(term=\"png size 480,360\", output=\"src/assets/basic4.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"","category":"page"},{"location":"basic/#Plot-a-parabola-with-scaled-x-axis,-lines-and-legend-1","page":"Basic usage","title":"Plot a parabola with scaled x axis, lines and legend","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"x = 1:20\n@gp \"set key left\" x ./ 20 x.^2 \"with lines tit 'Parabola'\"\nsave(term=\"png size 480,360\", output=\"src/assets/basic5.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"","category":"page"},{"location":"basic/#Multiple-datasets,-logarithmic-axis,-labels-and-colors,-etc.-1","page":"Basic usage","title":"Multiple datasets, logarithmic axis, labels and colors, etc.","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"x = 1:0.1:10\n@gp \"set grid\" \"set key left\" \"set logscale y\"\n@gp :- \"set title 'Plot title'\" \"set label 'X label'\" \"set xrange [0:12]\"\n@gp :- x x.^0.5 \"w l tit 'Pow 0.5' dt 2 lw 2 lc rgb 'red'\"\n@gp :- x x \"w l tit 'Pow 1' dt 1 lw 3 lc rgb 'blue'\"\n@gp :- x x.^2 \"w l tit 'Pow 2' dt 3 lw 2 lc rgb 'purple'\"\nsave(term=\"png size 480,360\", output=\"src/assets/basic6.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"note: Note\nThe above example lacks the trailing :- symbol. This means the plot will be updated at each command, adding one curve at a time.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"","category":"page"},{"location":"basic/#Keywords-for-common-commands-1","page":"Basic usage","title":"Keywords for common commands","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"In order to avoid typing long, and very frequently used gnuplot commands, Gnuplot.jl provides a few keywords which can be used in both @gp and @sgp calls:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"xrange=[low, high] => \"set xrange [low:high];\nyrange=[low, high] => \"set yrange [low:high];\nzrange=[low, high] => \"set zrange [low:high];\ncbrange=[low, high]=> \"set cbrange[low:high];\nkey=\"...\" => \"set key ...\";\ntitle=\"...\" => \"set title \\\"...\\\"\";\nxlabel=\"...\" => \"set xlabel \\\"...\\\"\";\nylabel=\"...\" => \"set ylabel \\\"...\\\"\";\nzlabel=\"...\" => \"set zlabel \\\"...\\\"\";\nxlog=true => set logscale x;\nylog=true => set logscale y;\nzlog=true => set logscale z;","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"All such keywords can be abbreviated to unambiguous names.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"By using the above keywords the first lines of the previous example:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp \"set grid\" \"set key left\" \"set logscale y\"\n@gp :- \"set title 'Plot title'\" \"set label 'X label'\" \"set xrange [0:12]\"","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"can be replaced with a shorter version:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp \"set grid\" k=\"left\" ylog=true\n@gp :- tit=\"Plot title\" xlab=\"X label\" xr=[0,12]","category":"page"},{"location":"basic/#Plot-images-1","page":"Basic usage","title":"Plot images","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"Gnuplot.jl can also display images, i.e. 2D arrays:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"img = randn(Float64, 30, 50)\nimg[10,:] .= -4\n@gp img \"w image notit\"\nsave(term=\"jpeg size 480,360\", output=\"src/assets/basic7a.png\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"Note that the first index corresponds to the X coordinate when the image is displayed.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The following example shows how to fix orientation of an image by means of the using clause (the TestImages package is required to run this example):","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"using TestImages\nimg = testimage(\"lena\");\n@gp \"set size square\" img \"u 2:(-\\$1):3:4:5 with rgbimage notit\"\nsave(term=\"jpeg size 480,360\", output=\"src/assets/basic7b.jpg\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#Plots-in-3D-1","page":"Basic usage","title":"Plots in 3D","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"3D plots follow the same rules as 2D ones, just replace the @gp macro with @gsp and add the required columns (according to the plotting style).","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"E.g., to plot a spiral increasing in size along the X direction:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"x = 0:0.1:10pi\n@gsp x sin.(x) .* x cos.(x) .* x x./15 \"w p pt 7 ps var lc pal\"\nsave(term=\"jpeg size 640,480\", output=\"src/assets/basic8.jpg\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The keywords discussed above can also be used in 3D plots.","category":"page"},{"location":"basic/#Palettes-and-line-styles-1","page":"Basic usage","title":"Palettes and line styles","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The Gnuplot.jl package comes with all the ColorSchemes palettes readily available.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"A gnuplot-compliant palette can be retrieved with palette(), and used as any other command. The previous example may use an alternative palette with:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"x = 0:0.1:10pi\n@gsp palette(:viridis) x sin.(x) .* x cos.(x) .* x x./15 \"w p pt 7 ps var lc pal\"\nsave(term=\"jpeg size 640,480\", output=\"src/assets/basic8a.jpg\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The ColorSchemes palettes can also be used to generate line styles, by means of the linestyles() function, e.g.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"@gp linestyles(:deepsea)\nx = 1:0.1:4pi\nfor i in 1:5\n @gp :- x i.* sin.(x) \"w l notit ls $i lw 5\"\nend\nsave(term=\"jpeg size 480,360\", output=\"src/assets/basic9.jpg\") # hide","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"(Image: )","category":"page"},{"location":"basic/#Exporting-plots-to-files-1","page":"Basic usage","title":"Exporting plots to files","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The save() function allows to export all plots (as well as multiplots, see Multiplot) to a file using one of the many available gnuplot terminals. To check which terminals are available in your platform type set term in your gnuplot terminal.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"All plots in this page have been saved with:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"save(term=\"png size 480,360\", output=\"output.png\")","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"except the Lena image, saved with the jpeg terminal:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"save(term=\"jpeg size 480,360\", output=\"output.png\")","category":"page"},{"location":"basic/#Gnuplot-scripts-1","page":"Basic usage","title":"Gnuplot scripts","text":"","category":"section"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"Besides exporting plots in a file Gnuplot.jl can also save a script, i.e. a file containing the minimum set of data and commands required to generate a plot within gnuplot.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"To generate a script for one of the example above use:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"save(\"script.gp\")","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"after the plot has been displayed. The script can then be used within a gnuplot session as follows:","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"gunplot> load 'script.gp'","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"to generate a plot identical to the original one, without using the Julia language.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"The purpose of gnuplot scripts is to allow sharing all data, alongside a plot, in order to foster collaboration among scientists and replicability of results. Moreover, a script can be used at any time to change the details of a plot, without the need to re-run the Julia code used to generate it the first time.","category":"page"},{"location":"basic/#","page":"Basic usage","title":"Basic usage","text":"Finally, the scripts are the only possible output when Dry sessions are used (i.e. when gnuplot is not available in the user platform.","category":"page"},{"location":"examples/#Examples-1","page":"Examples","title":"Examples","text":"","category":"section"},{"location":"examples/#","page":"Examples","title":"Examples","text":"An exhaustive gallery of example is available here:","category":"page"},{"location":"examples/#","page":"Examples","title":"Examples","text":"https://lazarusa.github.io/gnuplot-examples/","category":"page"},{"location":"examples/#","page":"Examples","title":"Examples","text":"Further gnuplot examples can be found here: http://www.gnuplotting.org/","category":"page"},{"location":"advanced/#Advanced-techniques-1","page":"Advanced techniques","title":"Advanced techniques","text":"","category":"section"},{"location":"advanced/#Multiplot-1","page":"Advanced techniques","title":"Multiplot","text":"","category":"section"},{"location":"advanced/#Mixing-2D-and-3D-plots-1","page":"Advanced techniques","title":"Mixing 2D and 3D plots","text":"","category":"section"},{"location":"advanced/#","page":"Advanced techniques","title":"Advanced techniques","text":"\n@gp \"set multiplot layout 1,2\"\n@gp :- 1 \"plot sin(x) w l\"\n\n\nx = y = -10:0.33:10\nfz(x,y) = sin.(sqrt.(x.^2 + y.^2))./sqrt.(x.^2+y.^2)\nfxy = [fz(x,y) for x in x, y in y]\n\n@gsp :- 2 x y fxy \"w pm3d notit\"\n","category":"page"},{"location":"advanced/#Multiple-processes-1","page":"Advanced techniques","title":"Multiple processes","text":"","category":"section"},{"location":"advanced/#Named-datasets-1","page":"Advanced techniques","title":"Named datasets","text":"","category":"section"},{"location":"advanced/#Histograms-(1D)-1","page":"Advanced techniques","title":"Histograms (1D)","text":"","category":"section"},{"location":"advanced/#Histograms-(2D)-1","page":"Advanced techniques","title":"Histograms (2D)","text":"","category":"section"},{"location":"advanced/#Contour-lines-1","page":"Advanced techniques","title":"Contour lines","text":"","category":"section"},{"location":"advanced/#Animations-1","page":"Advanced techniques","title":"Animations","text":"","category":"section"},{"location":"advanced/#Dry-sessions-1","page":"Advanced techniques","title":"Dry sessions","text":"","category":"section"},{"location":"advanced/#Options-1","page":"Advanced techniques","title":"Options","text":"","category":"section"},{"location":"install/#Installation-1","page":"Installation","title":"Installation","text":"","category":"section"},{"location":"install/#Prerequisite-1","page":"Installation","title":"Prerequisite","text":"","category":"section"},{"location":"install/#","page":"Installation","title":"Installation","text":"In order to use the Gnuplot.jl package you'll need gnuplot (ver. >= 4.7) installed on your system, and its executable available in your path.","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"If gnuplot is not available in your platform you can still use Gnuplot.jl in \"dry\" mode (see Dry sessions). In this case a plot can not be generated, but you may still generate Gnuplot scripts.","category":"page"},{"location":"install/#Package-installation-1","page":"Installation","title":"Package installation","text":"","category":"section"},{"location":"install/#","page":"Installation","title":"Installation","text":"In the Julia REPL type:","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"julia> ]add Gnuplot","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"Then hit backspace key to return to Julia REPL.","category":"page"},{"location":"install/#Check-installation-1","page":"Installation","title":"Check installation","text":"","category":"section"},{"location":"install/#","page":"Installation","title":"Installation","text":"Check execution and version of the underlying gnuplot process:","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"julia> using Gnuplot\njulia> Gnuplot.gpversion()","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"Generate the first plot:","category":"page"},{"location":"install/#","page":"Installation","title":"Installation","text":"julia> @gp 1:9","category":"page"},{"location":"#Gnuplot.jl-1","page":"Home","title":"Gnuplot.jl","text":"","category":"section"},{"location":"#A-Julia-interface-to-Gnuplot.-1","page":"Home","title":"A Julia interface to Gnuplot.","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"The Gnuplot.jl package allows easy and fast use of gnuplot as a data visualization tool in Julia. Have a look at Basic usage and Examples for a quick overview. The package main features are:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"fast time-to-first-plot (~1 sec);\nextremely concise yet meaningful syntax, makes it ideal for interactive data exploration;\nno need to learn new API functions or keywords: only two macros (@gp for 2D plots, @gsp for 3D plots) and a basic knowledge of gnuplot are enough to generate the most complex plots;\ntransparent interface between Julia and gnuplot to exploit all functionalities of the latter, both present and future ones;\nfast data transmission through system pipes (no temporary files involved);\navailability of all the palettes from ColorSchemes;\nsupport for multiple plots in one window, multiple plotting windows, as well as ASCII and Sixel plots (to plot directly in a terminal);\nsupport for histograms (both 1D and 2D);\nenhanced support for contour plots;\nexport to a huge number of formats such as pdf, png, LaTeX, svg, etc. (actually all those supported by gnuplot);\nsave sessions into gnuplot scripts enables easy plot reproducibility and modifications.","category":"page"},{"location":"#Yet-another-plotting-package?-1","page":"Home","title":"Yet another plotting package?","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"A powerful plotting framework is among the most important tool in the toolbox of any modern scientist and engineer. As such, it is hard to find a single package to fit all needs, and many solutions are indeed available in the Julia ecosystem.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl package fills the niche of users who needs:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"publication-quality plots, by exploiting the capabilities of a widely used tool such as gnuplot, and its many output formats available;\na well-documented framework, by taking advantage of all the gnuplot documentation, tutorials and examples available on the web;\na fast response, by relying on an external program (rather than on a large Julia code base);\nan interactive data exploration framework, by exposing a carefully designed, extremely concise and easy to remember syntax (at least for users with minimal gnuplot knowledge);\na procedure to foster plot reproducibility by sharing just the data and commands in the form of gnuplot scripts, rather than the original Julia code.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Unlike other packages Gnuplot.jl is not a pure Julia solution as it depends on an external package to actually generate plots. However, if gnuplot is not available on a given platform, the package could still be used in \"dry\" mode, and no error for a missing dependency will be raised (see Dry sessions).","category":"page"},{"location":"#","page":"Home","title":"Home","text":"The Gnuplot.jl package development follows a minimalistic approach: it is essentially a thin layer to send data and string commands to gnuplot. This way all underlying capabilities, both present and future ones, are automatically exposed to Julia user, with no need to implement dedicated wrappers.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"The functionalities 1, 2 and 3 listed above are similar to those provided by the Gaston package. Gnuplot.jl also provides features 4 and 5, as well as the minimalistic approach.","category":"page"},{"location":"#Do-Gnuplot.jl-suits-my-needs?-1","page":"Home","title":"Do Gnuplot.jl suits my needs?","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"Any modern plotting package is able to produce a simple scatter plot, with custom symbols, line styles, colors and axis labels. Indeed, this is exactly the example that is reported in every package documentation (also here: see Plots in 2D). Still, producing complex and publication-quality plots is not an easy task. As a consequence is also not easy to determine whether a package can cope with the most difficult cases (unless you actually try it out) and a reasonable choice is typically to rely on the size of the user base, the availability of documentation / tutorials, and the possibility to preview complex examples.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl aims to be ready for even the most challenging plots by relying on the widely and long lasting used gnuplot application, and by allowing each native feature (both present and future ones) to be immediately available in the Julia language. Moreover, Gnuplot.jl provides a unique syntax specifically aimed to increase productivity while performing interactive data exploration.","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Last but not least, have a look at the Gnuplot.jl Examples page.","category":"page"},{"location":"#Notation-1","page":"Home","title":"Notation","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"In this documentation:","category":"page"},{"location":"#","page":"Home","title":"Home","text":"Gnuplot.jl refers to the Julia package;\ngnuplot refers to the gnuplot application.","category":"page"},{"location":"#Table-of-Contents-1","page":"Home","title":"Table of Contents","text":"","category":"section"},{"location":"#","page":"Home","title":"Home","text":"Pages = [\"index.md\", \"install.md\", \"basic.md\", \"advanced.md\", \"examples.md\", \"api.md\"]","category":"page"}] }