Function: org--plot/sensible-tick-num

org--plot/sensible-tick-num is a byte-compiled function defined in org-plot.el.gz.

Signature

(org--plot/sensible-tick-num TABLE &optional HARD-MIN HARD-MAX)

Documentation

From a the values in a TABLE of data, guess an appropriate number of ticks.

If HARD-MIN and HARD-MAX can be used to fix the ends of the axis.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-plot.el.gz
(defun org--plot/sensible-tick-num (table &optional hard-min hard-max)
  "From a the values in a TABLE of data, guess an appropriate number of ticks.
If HARD-MIN and HARD-MAX can be used to fix the ends of the axis."
  (let* ((row-data
	  (mapcar (lambda (row) (org--plot/values-stats
                                 (mapcar #'string-to-number (cdr row))
                                 hard-min
                                 hard-max)) table))
	 (row-normalized-ranges (mapcar (lambda (r-data)
					  (let ((val (round (*
							     (plist-get r-data :range-factor)
							     (plist-get r-data :nice-range)))))
					    (if (= (% val 10) 0) (/ val 10) val)))
					row-data))
	 (range-prime-decomposition (mapcar #'org--plot/prime-factors row-normalized-ranges))
	 (weighted-factors (sort (apply #'org--plot/merge-alists #'+ 0
					(mapcar (lambda (factors) (org--plot/item-frequencies factors t))
						range-prime-decomposition))
				 (lambda (a b) (> (cdr a) (cdr b))))))
    (apply #'* (org--plot/nice-frequency-pick weighted-factors))))