From a7febf233e7f6b5eddbdd6880ef65fb982fefd8a Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Mon, 22 Sep 2008 05:56:34 +0200 Subject: [PATCH] Make plotting work for tables starting with hline. --- lisp/ChangeLog | 7 +++++++ lisp/org-plot.el | 13 +++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 850a063dd..3efb53cef 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2008-09-22 James TA Smith + + * org-plot.el (org-plot/gnuplot): Make tables starting with a + hline work correctly. + (org-plot/gnuplot-script): Put commas at the end of each script + line. + 2008-09-20 James TD Smith * org.el (org-get-refile-targets): Replace links with their diff --git a/lisp/org-plot.el b/lisp/org-plot.el index 874790cb1..f8e268de8 100644 --- a/lisp/org-plot.el +++ b/lisp/org-plot.el @@ -218,7 +218,7 @@ NUM-COLS controls the number of columns plotted in a 2-d plot." (format "\"%s\" %d" (cdr pair) (car pair))) y-labels ", ")))) (case type ;; plot command - ('2d (dotimes (col num-cols) + ('2d (dotimes (col num-cols) (unless (and (equal type '2d) (or (and ind (equal (+ 1 col) ind)) (and deps (not (member (+ 1 col) deps))))) @@ -239,11 +239,11 @@ NUM-COLS controls the number of columns plotted in a 2-d plot." (setq plot-lines (list (format "'%s' with %s title ''" data-file with))))) (add-to-script - (concat plot-cmd " " (mapconcat 'identity (reverse plot-lines) "\\\n ,"))) + (concat plot-cmd " " (mapconcat 'identity (reverse plot-lines) ",\\\n "))) script))) ;;----------------------------------------------------------------------------- -;; facad functions +;; facade functions ;;;###autoload (defun org-plot/gnuplot (&optional params) "Plot table using gnuplot. Gnuplot options can be specified with PARAMS. @@ -255,11 +255,11 @@ line directly before or after the table." (delete-other-windows) (when (get-buffer "*gnuplot*") ;; reset *gnuplot* if it already running (save-excursion - (set-buffer "*gnuplot*") (goto-char (point-max)) + (set-buffer "*gnuplot*") (goto-char (point-max)) (gnuplot-delchar-or-maybe-eof nil))) (org-plot/goto-nearest-table) ;; set default options - (mapc + (mapc (lambda (pair) (unless (plist-member params (car pair)) (setf params (plist-put params (car pair) (cdr pair))))) @@ -267,7 +267,8 @@ line directly before or after the table." ;; collect table and table information (let* ((data-file (make-temp-file "org-plot")) (table (org-table-to-lisp)) - (num-cols (length (first table)))) + (num-cols (length (if (eq (first table) 'hline) (second table) + (first table))))) (while (equal 'hline (first table)) (setf table (cdr table))) (when (equal (second table) 'hline) (setf params (plist-put params :labels (first table))) ;; headers to labels -- 2.11.4.GIT