Docs updated
This commit is contained in:
parent
d760dd287c
commit
5f1b082717
@ -15,7 +15,7 @@ fxy = [fz(x,y) for x in x, y in y]
|
|||||||
@gsp :- 2 x y fxy "w pm3d notit"
|
@gsp :- 2 x y fxy "w pm3d notit"
|
||||||
|
|
||||||
```
|
```
|
||||||
## Multiple processes
|
## Multiple sessions
|
||||||
## Named datasets
|
## Named datasets
|
||||||
## Histograms (1D)
|
## Histograms (1D)
|
||||||
## Histograms (2D)
|
## Histograms (2D)
|
||||||
|
|||||||
@ -1,7 +1,24 @@
|
|||||||
# API
|
# API
|
||||||
|
|
||||||
The list of **Gnuplot.jl** exported symbols are as follows:
|
## Exported symbols
|
||||||
|
The list of **Gnuplot.jl** exported symbols is as follows:
|
||||||
|
|
||||||
```@docs
|
```@docs
|
||||||
@gp
|
@gp
|
||||||
|
@gsp
|
||||||
|
save
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Non-exported symbols
|
||||||
|
The following functions are not exported by the **Gnuplot.jl** package since they are typically not used in every day work, or aimed to debugging purposes. Still, they can be useful in some case, hence they are documented here.
|
||||||
|
|
||||||
|
In order to call these functions you should add the `Gnuplot.` prefix to the function name.
|
||||||
|
|
||||||
|
```@docs
|
||||||
|
Gnuplot.exec
|
||||||
|
Gnuplot.gpversion
|
||||||
|
Gnuplot.quit
|
||||||
|
Gnuplot.quitall
|
||||||
|
Gnuplot.version
|
||||||
```
|
```
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
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 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:
|
The most important symbols exported by the package are the [`@gp`](@ref) (for 2D plots) and [`@gsp`](@ref) (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);
|
- 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);
|
||||||
|
|
||||||
@ -10,9 +10,9 @@ The most important symbols exported by the package are the `@gp` (for 2D plots)
|
|||||||
|
|
||||||
- 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.;
|
- 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 special symbol `:-`, whose meaning is to avoid starting 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](@ref).
|
The above lists all the required concepts to follow the examples presented below. The [`@gp`](@ref) and [`@gsp`](@ref) macros also accepts further arguments, but their use will be discussed in [Advanced techniques](@ref).
|
||||||
|
|
||||||
[^1]: a previous knowledge of [`gnuplot`](http://gnuplot.sourceforge.net/documentation.html) usage is, nevertheless, required.
|
[^1]: a previous knowledge of [`gnuplot`](http://gnuplot.sourceforge.net/documentation.html) usage is, nevertheless, required.
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
# Gnuplot.jl
|
# Gnuplot.jl
|
||||||
## A Julia interface to Gnuplot.
|
## A Julia interface to *gnuplot*.
|
||||||
|
|
||||||
The **Gnuplot.jl** package allows easy and fast use of [`gnuplot`](http://gnuplot.info/) as a data visualization tool in Julia. Have a look at [Basic usage](@ref) and [Examples](@ref) for a quick overview. The package main features are:
|
The **Gnuplot.jl** package allows easy and fast use of [*gnuplot*](http://gnuplot.info/) as a data visualization tool in Julia. Have a look at [Basic usage](@ref) and [Examples](@ref) for a quick overview. The package main features are:
|
||||||
|
|
||||||
- fast time-to-first-plot (~1 sec);
|
- fast time-to-first-plot (~1 sec);
|
||||||
|
|
||||||
- extremely concise yet meaningful syntax, makes it ideal for interactive data exploration;
|
- 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;
|
- 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;
|
- 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);
|
- fast data transmission through system pipes (no temporary files involved);
|
||||||
|
|
||||||
@ -21,9 +21,9 @@ The **Gnuplot.jl** package allows easy and fast use of [`gnuplot`](http://gnuplo
|
|||||||
|
|
||||||
- enhanced support for contour plots;
|
- 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`);
|
- 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.
|
- save sessions into *gnuplot* scripts enables easy plot reproducibility and modifications.
|
||||||
|
|
||||||
|
|
||||||
## Yet another plotting package?
|
## Yet another plotting package?
|
||||||
@ -31,15 +31,15 @@ The **Gnuplot.jl** package allows easy and fast use of [`gnuplot`](http://gnuplo
|
|||||||
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](https://github.com/JuliaPlots).
|
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](https://github.com/JuliaPlots).
|
||||||
|
|
||||||
**Gnuplot.jl** package fills the niche of users who needs:
|
**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;
|
1. publication-quality plots, by exploiting the capabilities of a widely used tool such as *gnuplot*, and its many output formats available;
|
||||||
1. a well-documented framework, by taking advantage of all the `gnuplot` documentation, tutorials and examples available on the web;
|
1. a well-documented framework, by taking advantage of all the *gnuplot* documentation, tutorials and examples available on the web;
|
||||||
1. a fast response, by relying on an external program (rather than on a large Julia code base);
|
1. a fast response, by relying on an external program (rather than on a large Julia code base);
|
||||||
1. 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);
|
1. 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);
|
||||||
1. 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.
|
1. 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](@ref)).
|
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](@ref)).
|
||||||
|
|
||||||
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 **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](https://github.com/mbaz/Gaston.jl) package. **Gnuplot.jl** also provides features 4 and 5, as well as the minimalistic approach.
|
The functionalities 1, 2 and 3 listed above are similar to those provided by the [Gaston](https://github.com/mbaz/Gaston.jl) package. **Gnuplot.jl** also provides features 4 and 5, as well as the minimalistic approach.
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ The functionalities 1, 2 and 3 listed above are similar to those provided by the
|
|||||||
|
|
||||||
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 [2D plots](@ref plots2d)). 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.
|
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 [2D plots](@ref plots2d)). 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.
|
**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](#ref) page.
|
Last but not least, have a look at the **Gnuplot.jl** [Examples](#ref) page.
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ Last but not least, have a look at the **Gnuplot.jl** [Examples](#ref) page.
|
|||||||
## Notation
|
## Notation
|
||||||
In this documentation:
|
In this documentation:
|
||||||
- **Gnuplot.jl** refers to the Julia package;
|
- **Gnuplot.jl** refers to the Julia package;
|
||||||
- `gnuplot` refers to the [gnuplot](http://gnuplot.info/) application.
|
- *gnuplot* refers to the [gnuplot](http://gnuplot.info/) application.
|
||||||
|
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user