在org-mode中使用babel考虑以下python代码块:
#+begin_src python :results none
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
graylevel = 0.75
mpl.rc('figure', facecolor = (graylevel, graylevel, graylevel), edgecolor ='r')
X = np.linspace(0, 7, 1024)
plt.plot(X, np.sin(X))
plt.plot(X, np.cos(X))
plt.draw()
plt.show()
#+end_src]
在弹出窗口中,这会生成带有灰色背景的图表
但是,当将绘图放在文件中时,再次以org-mode(只有最后几行不同)
#+begin_src python :results file
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
graylevel = 0.75
mpl.rc('figure', facecolor = (graylevel, graylevel, graylevel), edgecolor ='r')
X = np.linspace(0, 7, 1024)
plt.plot(X, np.sin(X))
plt.plot(X, np.cos(X))
plt.draw()
plt.savefig('test.png')
return 'test.png'
#+end_src
#+RESULTS:
[[file:test.png]]
灰色背景消失了
我确实需要灰色背景来从org-mode导出我的图,因为我需要从周围文档中创建的图。
我不知道这是matplotlib,org-mode,python,我的机器还是我的问题。我希望有人可以重复这个例子,或者只是知道答案。
答案 0 :(得分:4)
我不认为这是org-mode的问题,但问题是discussed here。
这是解决问题的方法:
plt.savefig('test.png', facecolor=(graylevel, graylevel, graylevel))