From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Stansell Subject: using gnuplot's "splot" and "every" commands on org-mode table data Date: Wed, 1 May 2013 15:39:56 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:50000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXYCO-0004ve-7f for emacs-orgmode@gnu.org; Wed, 01 May 2013 10:40:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UXYCL-0006lD-TC for emacs-orgmode@gnu.org; Wed, 01 May 2013 10:40:00 -0400 Received: from mail-ie0-x236.google.com ([2607:f8b0:4001:c03::236]:58839) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXYCL-0006l9-Ob for emacs-orgmode@gnu.org; Wed, 01 May 2013 10:39:57 -0400 Received: by mail-ie0-f182.google.com with SMTP id bn7so1941812ieb.41 for ; Wed, 01 May 2013 07:39:56 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org 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