Function: org--plot/radar

org--plot/radar is a byte-compiled function defined in org-plot.el.gz.

Signature

(org--plot/radar TABLE PARAMS)

Documentation

Create gnuplot code for a radar plot of TABLE with PARAMS.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-plot.el.gz
(defun org--plot/radar (table params)
  "Create gnuplot code for a radar plot of TABLE with PARAMS."
  (let* ((data
	  (concat "\"" (mapconcat #'identity (plist-get params :labels) "\" \"") "\""
		  "\n"
		  (mapconcat (lambda (row)
			       (format
				"\"%s\" %s"
				(car row)
				(mapconcat #'identity (cdr row) " ")))
			     (append table (list (car table)))
			     "\n")))
	 (ticks (or (plist-get params :ticks)
		    (org--plot/sensible-tick-num table
						 (plist-get params :ymin)
						 (plist-get params :ymax))))
	 (settings
	  (mapconcat (lambda (row)
		       (let ((data (org--plot/values-stats
				    (mapcar #'string-to-number (cdr row)))))
			 (format
			  "\"%s\" %s %s %s"
			  (car row)
			  (or (plist-get params :ymin)
			      (plist-get data :nice-min))
			  (or (plist-get params :ymax)
			      (plist-get data :nice-max))
			  (if (eq ticks 0) 2 ticks)
			  )))
		     (append table (list (car table)))
		     "\n"))
	 (setup-file (make-temp-file "org-plot-setup")))
    (let ((coding-system-for-write 'utf-8))
      (write-region (format org--plot/radar-setup-template data settings) nil setup-file nil :silent))
    (format org--plot/radar-template
	    setup-file
	    (if (eq ticks 0) 2 ticks)
	    (if (eq ticks 0) ""
	      (apply #'format org--plot/radar-ticks
		     (make-list 3 (if (and (plist-get params :ymin)
					   (plist-get params :ymax))
				      ;; FIXME multi-drawing of tick labels with "1"
				      "1" "$1")))))))