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