From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: gnuplot with errorbars in org-mode Date: Sun, 25 Jul 2010 08:48:21 -0600 Message-ID: <87pqyb1utm.fsf@gmail.com> References: <4C4BBCFD.1010406@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=49046 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Od2WF-0003gN-8Y for emacs-orgmode@gnu.org; Sun, 25 Jul 2010 10:49:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Od2V8-0006eU-Jc for emacs-orgmode@gnu.org; Sun, 25 Jul 2010 10:48:29 -0400 Received: from mail-pz0-f41.google.com ([209.85.210.41]:35835) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Od2V8-0006eJ-AE for emacs-orgmode@gnu.org; Sun, 25 Jul 2010 10:48:26 -0400 Received: by pzk33 with SMTP id 33so1803458pzk.0 for ; Sun, 25 Jul 2010 07:48:25 -0700 (PDT) In-Reply-To: <4C4BBCFD.1010406@gmail.com> (Suvayu Ali's message of "Sat, 24 Jul 2010 21:26:37 -0700") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Suvayu Ali Cc: emacs-orgmode@gnu.org Hi, I think you're on the right path using Org-babel, here is an altered version of your gnuplot code block which should work. #+srcname: plot-data-w-err #+begin_src gnuplot :var data=data-table :file example.png set title 'My plot' plot "$data" using 1:2:3:4:5:6 with xyerrorlines title 'Ordinate (Y)' #+end_src This assumes that you have named your table with a line like #+tblname: data-table Notice that the example above uses two "header arguments", the ":var" header argument specifies that the data from data-table should be saved into the variable named "data", and the :file header argument specifies that gnuplot should save the resulting graph to a file named "exmaple.png" and that a link to that graph should be inserted on evaluation of the code block. Please see the quick-guide and the manual for more information on code block syntax and header arguments. Best -- Eric Quick Guide:Babel http://orgmode.org/guide/Working-With-Source-Code.html#Working-With-Source-Code Manual:Babel http://orgmode.org/manual/Working-With-Source-Code.html#Working-With-Source-Code Suvayu Ali writes: > Hi everyone, > > I am a new org-mode user and this is my first post to the mailing > list. Lately I have been using org-mode to manage the data for a study > I'm doing for my research project. I primarily use the spreadsheet > features to do all the calculations and then use gnuplot to plot the > final result. For all the basic plotting it works great, but I am > having trouble when I want error bars in my plot. > > To demonstrate my point here is a small example. > >> #+PLOT: title:"My plot" ind:1 deps:(2) type:2d with:xyerrorlines >> | Abscissa (X) | Ordinate (Y) | X low edge | X high edge | Y low edge | Y high edge | >> |--------------+--------------+------------+-------------+------------+-------------| >> | 60 | 1.1140741 | 0020 | 0100 | 1.1699508 | 1.0680423 | >> | 150 | 1.1187818 | 0100 | 0200 | 1.1593492 | 1.0855438 | >> | 350 | 1.1193459 | 0200 | 0500 | 1.1331885 | 1.1086636 | >> | 600 | 1.1029173 | 0500 | 0700 | 1.0940769 | 1.1121185 | >> | 850 | 1.0841388 | 0700 | 1000 | 1.0676310 | 1.1000886 | >> | 1250 | 1.0358938 | 1000 | 1500 | 1.0127586 | 1.0586916 | >> | 2000 | 0.89370079 | 1500 | 2500 | 0.88014981 | 0.925 | > > This gives me an error like this, > >> gnuplot> plot '/tmp/org-plot30213YHV' using 1:2 with xyerrorlines title 'Ordinate (Y)' >> Not enough columns for this style > > I have tried changing the "#+PLOT:" line to say this, > >> #+PLOT: title:"My plot" ind:1 deps:(2 3 4 5 6) type:2d with:xyerrorlines > > But that doesn't work either. I think the problem is org-plot doesn't > recognise that when plotting with error bars, gnuplot expects more > than two columns of data. So a command like this should be sent to > gnuplot, > >> plot '/tmp/org-plot30213YHV' using 1:2:3:4:5:6 with xyerrorlines title 'Ordinate (Y)' > > In fact typing this on the gnuplot terminal actually generates the > desired plot! > > > So I thought maybe I should try org-babel. So I tried something like this, > >> #+srcname: plot-data-w-err >> #+begin_src gnuplot >> set title 'My plot' >> plot 'data-table' using 1:2:3:4:5:6 with xyerrorlines title 'Ordinate (Y)' >> #+end_src > > and gave my table a name like this, > > #+tblname: data-table > > But that didn't behave as I was expecting it to. I think I don't quite > understand how to pass a table as an input to a source block. > > I was hoping someone on the list could either help me understand how > babel uses tables as inputs, or pass the correct command to gnuplot > with org-plot. BTW, org-mode is phenomenal. Loving every bit of > it. Thank you Carsten /et al./ :) > > Specifics: > Org-mode version 7.01 > GNU Emacs 23.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.20.1) of > 2010-05-13 on x86-07.phx2.fedoraproject.org > gnuplot 4.4 patchlevel 0