emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] using gnuplot's "splot" and "every" commands on org-mode table data


From: Paul Stansell
Subject: [O] using gnuplot's "splot" and "every" commands on org-mode table data
Date: Wed, 1 May 2013 15:39:56 +0100

Hello everyone,

I'd be grateful if someone would offer me advice on using gnuplot's
"splot" and "every" commands when plotting data from a table within
org-mode.

As far as I can tell, these gnuplot commands do not work properly
because org-mode exports empty fields in tables as "" and gnuplot's
"every" and splot commands expect the data file to be formatted as a
datablock with blank lines marking the boundaries between datablocks.
(For the definition of a datablock, type "help glossary" at the
gnuplot prompt.)

I'm using org-mode version 8.0.2 and emacs version 24.2.1 on a
Fedora-18 system


To illustrate my point, consider a blocked datafile called "block.dat"
containing the following:

  1       1       2
  1       2       5
  1       3       10

  2       1       5
  2       2       8
  2       3       13

  3       1       10
  3       2       13
  3       3       18

For this file the gnuplot command

   #+begin_src gnuplot :var d="block.dat" :results silent
     plot "$d" u 2:3 ev :::0::0, "" u 2:3 ev :::1::1, "" u 2:3 ev :::2::2
   #+end_src

shows three separate lines of different colours as gnuplot
recognises the datafile as blocked data.

Also, the following command produces a surface plot

   #+begin_src gnuplot :var d="block.dat" :results silent
     splot "$d" u 1:2:3
   #+end_src

However, if I put the same data in the table below

   #+tblname: data
   | 1 | 1 |  2 |
   | 1 | 2 |  5 |
   | 1 | 3 | 10 |
   |   |   |    |
   | 2 | 1 |  5 |
   | 2 | 2 |  8 |
   | 2 | 3 | 13 |
   |   |   |    |
   | 3 | 1 | 10 |
   | 3 | 2 | 13 |
   | 3 | 3 | 18 |

and use the following plot command

   #+begin_src gnuplot :var d=data :results silent
     plot "$d" u 2:3 ev :::0::0, "" u 2:3 ev :::1::1, "" u 2:3 ev :::2::2
   #+end_src

the result is a plot of a single line of the same colour as gnuplot
joins all of the points in the data file.  This seems to be because
org-mode exports the table as

  "x"     "y"     "z"
  1       1       2
  1       2       5
  1       3       10
  ""      ""      ""
  2       1       5
  2       2       8
  2       3       13
  ""      ""      ""
  3       1       10
  3       2       13
  3       3       18

and gnuplot does not recognise this as a blocked data file because it
contains no blank lines.

The same problem occurs for

   #+begin_src gnuplot :var d=data :results silent
     splot "$d" u 1:2:3
   #+end_src

which does not produce a gridded surface plot.

Thanks for your help,

Paul



reply via email to

[Prev in Thread] Current Thread [Next in Thread]