emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Output result of source block to a file


From: Roger Mason
Subject: [O] Output result of source block to a file
Date: Wed, 05 Jun 2019 08:11:50 -0230
User-agent: mu4e 1.1.0; emacs 26.1

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.

Here is the code:

#+begin_src python :results value file :file scaleplot02.pdf :exports results 
:var data=test
  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

This is the error:

NameError: name 'file' is not defined

Obviously the syntax on the begin_src line is wrong, but what should it
be instead?

Thanks,
Roger



reply via email to

[Prev in Thread] Current Thread [Next in Thread]