An improvement for figures in ipython + scimax
Posted March 12, 2019 at 02:18 PM | categories: ipython | tags:
Updated March 12, 2019 at 03:15 PM
One of the best features of ipython in scimax is automatic inline images that you do not have to name. This has had a downside though, and that is it is not easy to use this and put attributes like names (so you can reference them later) or captions, or if you want a specific filename to get that. No more. Now you can use the :ipyfile
header argument to control these. For example, if you use this in the header of the next block, it will save the images into the filenames you specified (in the order they are defined), and add attributes to the output. The syntax is just a list of plists (in elispese).
:ipyfile '((:name "clockwise" :filename "obipy-resources/clockwise.png" :caption "A clockwise spiral.") (:name "counterclockwise" :filename "obipy-resources/counterclockwise.png" :caption "A counterclockwise spiral."))
That allows you to refer to the clockwise one in Figure clockwise and the counterclockwise in Fig. counterclockwise. That may be helpful when using Ipython to write papers or for presentations where you might prefer named figures that are easy to find. Enjoy!
%matplotlib inline import matplotlib.pyplot as plt import numpy as np t = np.linspace(0, 20 * np.pi, 350) x = np.exp(-0.1 * t) * np.sin(t) y = np.exp(-0.1 * t) * np.cos(t) plt.plot(x, y) plt.axis('equal') plt.figure() plt.plot(y, x) plt.axis('equal') print('Length of t = {}'.format(len(t))) print('x .dot. y = {}'.format(x @ y))
Length of t = 350 x .dot. y = 1.3598389888491538
Copyright (C) 2019 by John Kitchin. See the License for information about copying.
Org-mode version = 9.2.1