Python Test

EpiphanyEngineering

One of the goals of Epiphany is to support different programming languages. Thanks to the pyodide project, Python in now available on Epiphany. In addition to all the Javascript packages, you can also use numpy and matplotlib.

Loading Python packages can be slow though, I will try to improve it in the future.

_ec.log(“this is a py block.”)

This import registers the 3D projection, but is otherwise unused.

from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import

import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import numpy as np

fig = plt.figure() ax = fig.gca(projection=‘3d’)

Make data.

X = np.arange(-5, 5, 0.25) Y = np.arange(-5, 5, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X2 + Y2) Z = np.sin®

Plot the surface.

surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm, linewidth=0, antialiased=False)

Customize the z axis.

ax.set_zlim(-1.01, 1.01) ax.zaxis.set_major_locator(LinearLocator(10)) ax.zaxis.set_major_formatter(FormatStrFormatter(‘%.02f’))

Add a color bar which maps values to colors.

fig.colorbar(surf, shrink=0.5, aspect=5)

plt.show()