forked from mirrors/org-mode
ob-octave.el: Add graphical output
* lisp/ob-octave.el: add graphical output to png file * testing/examples/ob-octave-test.org: add a test for graphical output, and a test for session
This commit is contained in:
parent
34eb48dc3f
commit
0b7ae6ffb9
|
@ -86,13 +86,24 @@ end")
|
||||||
(org-babel-expand-body:generic
|
(org-babel-expand-body:generic
|
||||||
body params (org-babel-variable-assignments:octave params)))
|
body params (org-babel-variable-assignments:octave params)))
|
||||||
(result (org-babel-octave-evaluate
|
(result (org-babel-octave-evaluate
|
||||||
session full-body result-type matlabp)))
|
session
|
||||||
(org-babel-reassemble-table
|
(if (org-babel-octave-graphical-output-file params)
|
||||||
result
|
(mapconcat 'identity
|
||||||
(org-babel-pick-name
|
(list
|
||||||
(cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
|
"set (0, \"defaultfigurevisible\", \"off\");"
|
||||||
(org-babel-pick-name
|
full-body
|
||||||
(cdr (assoc :rowname-names params)) (cdr (assoc :rownames params))))))
|
(format "print -dpng %s" (org-babel-octave-graphical-output-file params)))
|
||||||
|
"\n")
|
||||||
|
full-body)
|
||||||
|
result-type matlabp)))
|
||||||
|
(if (org-babel-octave-graphical-output-file params)
|
||||||
|
nil
|
||||||
|
(org-babel-reassemble-table
|
||||||
|
result
|
||||||
|
(org-babel-pick-name
|
||||||
|
(cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
|
||||||
|
(org-babel-pick-name
|
||||||
|
(cdr (assoc :rowname-names params)) (cdr (assoc :rownames params)))))))
|
||||||
|
|
||||||
(defun org-babel-prep-session:matlab (session params)
|
(defun org-babel-prep-session:matlab (session params)
|
||||||
"Prepare SESSION according to PARAMS."
|
"Prepare SESSION according to PARAMS."
|
||||||
|
@ -259,6 +270,11 @@ This removes initial blank and comment lines and then calls
|
||||||
(match-string 1 string)
|
(match-string 1 string)
|
||||||
string))
|
string))
|
||||||
|
|
||||||
|
(defun org-babel-octave-graphical-output-file (params)
|
||||||
|
"Name of file to which maxima should send graphical output."
|
||||||
|
(and (member "graphics" (cdr (assq :result-params params)))
|
||||||
|
(cdr (assq :file params))))
|
||||||
|
|
||||||
(provide 'ob-octave)
|
(provide 'ob-octave)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,3 +43,13 @@ Input elisp nil
|
||||||
#+begin_src octave :exports results :results silent :var s='nil
|
#+begin_src octave :exports results :results silent :var s='nil
|
||||||
ans = s
|
ans = s
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
* Graphical tests
|
||||||
|
#+begin_src octave :results graphics :file chart.png
|
||||||
|
sombrero;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src octave :session
|
||||||
|
sombrero;
|
||||||
|
#+end_src
|
||||||
|
|
Loading…
Reference in New Issue