From 2a153a5bc015b0e970ecde39fd2edbb515261349 Mon Sep 17 00:00:00 2001 From: Visuwesh Date: Thu, 13 Jun 2024 12:33:49 +0530 Subject: [PATCH] org-plot: Respect parameters given in `org-plot/preset-plot-types' * lisp/org-plot.el (org-plot/preset-plot-types): Fix docstring and correct the lambda argument order for the 'grid' plot type. (org-plot/gnuplot): Merge the parameters given in `org-plot/preset-plot-types' and the #+PLOT line to ensure the former is respected everywhere. Reported-by: Visuwesh Link: https://orgmode.org/list/87cypbjw50.fsf@gmail.com --- lisp/org-plot.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lisp/org-plot.el b/lisp/org-plot.el index 283d993..6d53830 100644 --- a/lisp/org-plot.el +++ b/lisp/org-plot.el @@ -349,7 +349,7 @@ (defcustom org-plot/preset-plot-types (grid :plot-cmd "splot" :plot-pre (lambda (_table _data-file _num-cols params _plot-str) (if (plist-get params :map) "set pm3d map" "set map")) - :data-dump (lambda (table data-file params _num-cols) + :data-dump (lambda (table data-file _num-cols params) (let ((y-labels (org-plot/gnuplot-to-grid-data table data-file params))) (when y-labels (plist-put params :ylabels y-labels)))) @@ -391,8 +391,8 @@ (defcustom org-plot/preset-plot-types - :data-dump - Function to dump the table to a datafile for ease of use. - Accepts lambda function. Default lambda body: - (org-plot/gnuplot-to-data table data-file params) + Accepts lambda function with arguments: + (table data-file num-cols params) - :plot-pre - Gnuplot code to be inserted early into the script, just after term and output have been set. @@ -679,8 +679,8 @@ (defun org-plot/gnuplot (&optional params) tbl)) (num-cols (length (if (eq (nth 0 table) 'hline) (nth 1 table) (nth 0 table)))) - (type (assoc (plist-get params :plot-type) - org-plot/preset-plot-types)) + (type (cdr (assoc (plist-get params :plot-type) + org-plot/preset-plot-types))) gnuplot-script) (unless type @@ -695,6 +695,7 @@ (defun org-plot/gnuplot (&optional params) (save-excursion (while (and (equal 0 (forward-line -1)) (looking-at "[[:space:]]*#\\+")) (setf params (org-plot/collect-options params)))) + (setq params (org-combine-plists type params)) ;; Dump table to datafile (let ((dump-func (plist-get type :data-dump))) (if dump-func -- 2.43.0