在org-mode babel和matplotlib中绘制阴影

时间:2015-09-21 02:17:39

标签: python matplotlib org-mode

在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]

在弹出窗口中,这会生成带有灰色背景的图表

enter image description here

但是,当将绘图放在文件中时,再次以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]]

灰色背景消失了

enter image description here

我确实需要灰色背景来从org-mode导出我的图,因为我需要从周围文档中创建的图。

我不知道这是matplotlib,org-mode,python,我的机器还是我的问题。我希望有人可以重复这个例子,或者只是知道答案。

1 个答案:

答案 0 :(得分:4)

我不认为这是org-mode的问题,但问题是discussed here

这是解决问题的方法:

plt.savefig('test.png', facecolor=(graylevel, graylevel, graylevel))