diff --git a/guide/guide-15.svg b/guide/guide-15.svg index 1f1fcb1..1453399 100644 --- a/guide/guide-15.svg +++ b/guide/guide-15.svg @@ -1,5 +1,6 @@ - + - + - + - + - + - + -1 @@ -66,13 +67,13 @@ - + - + - + -0.8 @@ -81,13 +82,13 @@ - + - + - + -0.6 @@ -96,13 +97,13 @@ - + - + - + -0.4 @@ -111,13 +112,13 @@ - + - + - + -0.2 @@ -126,13 +127,13 @@ - + - + - + 0 @@ -141,13 +142,13 @@ - + - + - + 0.2 @@ -156,13 +157,13 @@ - + - + - + 0.4 @@ -171,13 +172,13 @@ - + - + - + 0.6 @@ -186,13 +187,13 @@ - + - + - + 0.8 @@ -201,13 +202,13 @@ - + - + - + 1 @@ -216,13 +217,13 @@ - + - + - + -1 @@ -231,13 +232,13 @@ - + - + - + -0.8 @@ -246,13 +247,13 @@ - + - + - + -0.6 @@ -261,13 +262,13 @@ - + - + - + -0.4 @@ -276,13 +277,13 @@ - + - + - + -0.2 @@ -291,13 +292,13 @@ - + - + - + 0 @@ -306,13 +307,13 @@ - + - + - + 0.2 @@ -321,13 +322,13 @@ - + - + - + 0.4 @@ -336,13 +337,13 @@ - + - + - + 0.6 @@ -351,13 +352,13 @@ - + - + - + 0.8 @@ -366,1004 +367,699 @@ - + - + - + 1 - - -1 - - - - - - - -0.8 - - - - - - - -0.6 - - - - - - - -0.4 - - - - - - - -0.2 - - - - - - + 0 - - 0.2 + + 0.5 - - 0.4 - - - - - - - 0.6 - - - - - - - 0.8 - - - - - - + 1 + + + + 1.5 + + + + + + + 2 + + + + + + + 2.5 + + + + + + + 3 + + + + + + + 3.5 + + + + + + + 4 + + + + + + + 4.5 + + + + + + + 5 + + + gnuplot_plot_1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gnuplot_plot_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - sphere + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 0.5 + + + + + 1 + + + + + 1.5 + + + + + 2 + + + + + 2.5 + + + + + 3 + + + + + 3.5 + + + + + 4 + + + + + 4.5 + + + + + 5 + + + + + Double helix diff --git a/guide/guide-16.svg b/guide/guide-16.svg index 5d4a961..c98d96e 100644 --- a/guide/guide-16.svg +++ b/guide/guide-16.svg @@ -1,5 +1,6 @@ - - - - - - - + - - - - -1 - - - - - - - - - - - - - - - -0.5 - - - - - - - - - - - - - - + 0 @@ -96,858 +59,1266 @@ - + - - - - 0.5 - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - -0.8 - - - - - - - - - - - - - - - -0.6 - - - - - - - - - - - - - - - -0.4 - - - - - - - - - - - - - - - -0.2 - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - 0.2 - - - - - - - - - - - - - - - 0.4 - - - - - - - - - - - - - - - 0.6 - - - - - - - - - - - - - - - 0.8 - - - - - - - - - - - - - - - 1 - - - - - - - 0 - - - - - - - 1 - - - - - - + 2 - - - 3 - + + + + + - - - + 4 + + + + + + - - 5 + + 6 - gnuplot_plot_1 - - spiral 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - gnuplot_plot_2 - - spiral 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 8 - - + + + + + + - - -1 + + 10 - - -0.8 + + + + + + + + + + 12 - - -0.6 + + + + + + + + + + 14 - - -0.4 + + + + + + + + + + 16 - - -0.2 + + + + + + + + + + 18 - + + + + + + + + + + -30 + + + + + + + + + + + + + -20 + + + + + + + + + + + + + -10 + + + + + + + + + + + + 0 - - 0.2 + + + + + + + + + + 10 - - 0.4 + + + + + + + + + + 20 - - 0.6 + + + + + + + + + + 30 - - 0.8 + + + + + + + + + + 40 - - 1 - - - Double helix + + + + gnuplot_plot_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gnuplot_plot_2 + + + + + Limit gaussian + + + + + + + + + diff --git a/guide/guide-7.svg b/guide/guide-7.svg index fea233d..e45bca5 100644 --- a/guide/guide-7.svg +++ b/guide/guide-7.svg @@ -335,7 +335,7 @@ gnuplot_plot_1 - + diff --git a/guide/guide.org b/guide/guide.org index e96bd17..ce03741 100644 --- a/guide/guide.org +++ b/guide/guide.org @@ -117,9 +117,9 @@ perl -nE '$thdeg = $_/100.*360.; $s = sin($th); $c = cos($th); say "$c $s $thdeg";' | \ -feedgnuplot --lines --points --domain --square \ +feedgnuplot --domain --square \ --tuplesizeall 3 \ - --styleall 'with points palette' + --styleall 'with linespoints palette' #+END_SRC #+RESULTS: @@ -281,6 +281,9 @@ feedgnuplot --dataid \ #+RESULTS: [[file:guide-10.svg]] +Here we used =--set= to set the range of the colorbar. =--set= (and =--unset=) +map to the gnuplot =set= (and =--unset=) command. + ** Error bars As before, the =gnuplot= documentation has the styling details: @@ -388,3 +391,63 @@ feedgnuplot --domain \ #+RESULTS: [[file:guide-14.svg]] + +** 3D plots +We can plot in 3D by passing =--3d=. When plotting interactively, you can use +the mouse to rotate the plot, and look at it from different directions. +Otherwise, the viewing angle can be set with =--set 'view ...'=. See + +#+BEGIN_SRC sh :results none :exports code +gnuplot -e 'help set view' +#+END_SRC + +Unlike 2D plots, 3D plots have a 2-dimensional domain, and =--domain= is +/required/. So each line is interpreted =x y z0 z1 z2...=. + +A double-helix with variable color and variable pointsize + +#+BEGIN_SRC sh :results file link :exports both +seq 200 | \ +perl -nE '$, = " "; + $th = $_/10; + $z = $_/40; + $c = cos($th); + $s = sin($th); + $size = 0.5 + abs($c); + $color = $z; + say $c, $s, 0, $z, $size, $color; + say -$c, -$s, 1, $z, $size, $color;' | \ +feedgnuplot --domain --dataid --3d \ + --with 'points pointsize variable pointtype 7 palette' \ + --tuplesizeall 5 \ + --title "Double helix" \ + --squarexy +#+END_SRC + +#+RESULTS: +[[file:guide-15.svg]] + +** Histograms +=gnuplot= (and =feedgnuplot=) has support for histograms. So we can give it +data, and have it bin it for us. Pre-sorting the data is unnecessary. Let's look +at the central limit theorem: we look at the distribution of sums of 10 uniform +samples in [-1,1]: it should be normal-ish. And let's draw the expected perfect +PDF on top (as an equation, evaluated by =gnuplot=). + +#+BEGIN_SRC sh :results file link :exports both +N=1000; +Nsum=200; +var=$((Nsum/3)); +binwidth=0.2; +seq $N | \ +perl -nE '$Nsum = '$Nsum'; + $s = 0; for $i (1..$Nsum) { $s += rand()*2-1; } + say $s;' | \ +feedgnuplot --histo 0 --binwidth $binwidth \ + --equation-above "($N * sqrt(2.*pi*$var) * erf($binwidth/(2.*sqrt(2.*$var)))) * \ + exp(-(x*x)/(2.*$var)) / \ + sqrt(2.*pi*$var) title \"Limit gaussian\" with lines lw 2" +#+END_SRC + +#+RESULTS: +[[file:guide-16.svg]]