I think you can use something like this: #+BEGIN_SRC python :results output file :var fname="test.png" import matplotlib.pyplot as plt import io f = io.StringIO() plt.plot([1, 2, 3, 17]) plt.savefig(fname) print(fname, end='') #+END_SRC It is in Python3. John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Thu, Jun 6, 2019 at 2:27 PM Roger Mason wrote: > Hello again, > > stardiviner writes: > > > Roger Mason writes: > > > >> Hello, > >> > >> I want to output the result of the evaluation of a (python) source block > >> to a (graphics) file and have a link to the file inserted in the buffer. > > > > For this, you should try updated header arguments like ":results > graphics link" > > or ":results file link". > > I updated to Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ > /home/rmason/.emacs.d/org-git/lisp/) > > This works but sets the results to verbatim, hence the exported & > compiled code does not include the graphic. > > #+name: scaleplot03 > #+begin_src python :results output graphics link :exports results :var > data=test :var file="scaleplot03.pdf" > import matplotlib.pyplot as plt > import csv > > scale = [] > lescale = [] > cdscale = [] > > energy = [] > leenergy = [] > cdenergy = [] > > for row in data: > scale.append(float(row[0])) > energy.append(float(row[1])) > if int(row[2]) != 0: > lescale.append(float(row[0])) > leenergy.append(float(row[1])) > if int(row[3]) != 0: > cdscale.append(float(row[0])) > cdenergy.append(float(row[1])) > > plt.plot(scale,energy, 'r+') > plt.plot(lescale,leenergy, 'go') > plt.plot(cdscale,cdenergy, 'bo') > plt.xlabel('scale') > plt.ylabel('energy (Ha)') > plt.title('Energy vs scale') > plt.legend() > plt.savefig(file) > print ("./%s" % file) > #+end_src > > #+RESULTS: scaleplot03 > : ./scaleplot03.pdf > > This header does not work either: > #+name: scaleplot04 > #+begin_src python :results file link :exports results :var data=test :var > file="scaleplot04.pdf" > ( same pythone code here) > > #+RESULTS: scaleplot04 > [[file:None]] > ]] > #+end_src > > Thank you for your help. > > Roger > > > >