3

このブロックを使えば

#+BEGIN_SRC python :results file
from pylab import *
plot(rand(10))
savefig('images/test.png')
return 'images/test.png'
#+END_SRC 

RESULTS ブロックは、プロットのインライン バージョンを表示します。

今私がこのブロックに切り替えると

#+BEGIN_SRC python :session test :results file
from pylab import *
plot(rand(10))
savefig('images/test.png')
return 'images/test.png'
#+END_SRC 

RESULTS ブロックはインライン プロットを表示しませんが、これは

| <matplotlib.lines.Line2D | object | at | 0x35c0650> |

変数を共有するにはいくつかのブロックが必要なので、セッションの使用は必須です。

私のアプローチに明らかに何か問題がありますか?

4

1 に答える 1

2

org-mode documentationに従って、returnコードがセッションで実行されている場合は削除する必要があります。

#+BEGIN_SRC python :session test :results file
  from pylab import *
  plot(rand(10))
  savefig('images/test.png')
  'images/test.png'
#+END_SRC 

#+RESULTS:
[[file:images/test.png]]

「返される結果は、インタープリターによって実行された最後の評価の結果である」ためです。

于 2013-05-06T11:14:21.653 に答える