Skip to content

Plotting

ChebPy integrates with matplotlib for function visualisation.

Basic Plotting

import numpy as np
import matplotlib.pyplot as plt
from chebpy import chebfun

f = chebfun(lambda x: np.sin(10 * x) * np.exp(-x), [-1, 1])
f.plot()
plt.show()

Plotting on Axes

Pass an existing Axes object to overlay multiple functions:

fig, ax = plt.subplots()
f = chebfun(lambda x: np.sin(x), [0, 10])
g = chebfun(lambda x: np.cos(x), [0, 10])

f.plot(ax=ax, label="sin(x)")
g.plot(ax=ax, label="cos(x)")
ax.legend()
plt.show()

Marking Roots

f = chebfun(lambda x: np.sin(x**2) + np.sin(x) ** 2, [0, 10])
g = chebfun(lambda x: np.exp(-((x - 5) ** 2) / 10), [0, 10])

ax = f.plot(label="f")
g.plot(ax=ax, label="g")

roots = (f - g).roots()
ax.plot(roots, f(roots), "ro", markersize=8, label="Intersections")
ax.legend()
ax.grid(True, alpha=0.3)
plt.show()

References