Johan Ekh <ekh.jo...@gmail.com> writes: > Hi all, > I would like to create a plot with matplotlib and have it exported to a > beamer presentation without storing the plot in a file. Is that possible?
I guess you'd want to plot is as a pgf file, whether real of 'virtual'. You could send the result to STDOUT but it may take a bit more effort. Also, a simple test with sys.stdout says the pgf backend doesn't support stdout. . . If *printing* to a pgf file everything works out of the box in recent versions of Org. > Can someone point me to an example or a good starting point? http://matplotlib.org/users/pgf.html Here's an example of a simple plot. #+TITLE: =matplotlib= and =pgf= #+LATEX_HEADER: \usepackage{pgf} #+NAME:spectrum #+BEGIN_SRC python :var OUT="test.pgf" :exports results :results value file import matplotlib as mpl pgf_with_pdflatex = { "pgf.texsystem": "pdflatex", "text.usetex": True, 'pgf.rcfonts': False, 'font.size': 9, 'fond.family': 'serif', "pgf.preamble": [ r"\usepackage[utf8]{inputenc}", r"\usepackage[T1]{fontenc}"]} mpl.rcParams.update(pgf_with_pdflatex) import matplotlib.pyplot as plt from numpy import pi, cos, linspace s1, t1, t2 = 1, .8, .2 s = lambda w: s1 / (2 * pi) * (1 + t1 ** 1 + t2 ** 2 + (1 + t2) * 2 * t1 * cos(w) + 2 * t2 * cos(4 * w)) x = linspace(0, pi, 1000) plt.figure(figsize=(4,1.5)) plt.plot(x, s(x)) plt.xlim( 0, pi) plt.xlabel("$\\omega$") plt.ylabel("Spectrum") plt.tight_layout(0) plt.savefig(OUT, format = 'pgf') return(OUT) #+END_SRC #+RESULTS: spectrum [[file:test.pgf]] -- . . . The proofs are technical in nature and provides no real understanding.