If you have only two $\beta_j$ parameters, just plot it in a 3D plot with $\beta_1$ on $x$-axis, $\beta_2$ on $z$-axis, and the loss on $y$-axis. If there is more parameters, there is no easy way to plot them. What you can do, it to use a dimensionality reduction algorithm to reduce the dimensionality of inputs, as authors of the loss landscape paper did, but in such case keep in mind that you will no longer plotting the function, but a transformation of it, that may, or may not reflect it well.
The 3.11 figure by Hastie et al shows just the geometry of the function. This can easily be done for two dimensions in any plotting software, you can find an example in Python's Matplotlib below.
import matplotlib.pyplot as plt
import numpy as np
def reg(x, p):
return np.abs(x) ** p
x, y = np.meshgrid(np.linspace(-4, 4, num=100), np.linspace(-4, 4, num=100))
pars = [0.5, 1, 2]
plt.figure(figsize=(15,4))
for (i, p) in enumerate(pars, start=1):
z = reg(x, p) + reg(y, p)
plt.subplot(1, len(pars), i)
plt.contourf(x,y,z)
plt.title(r"$|\beta_1|^{%s} + |\beta_2|^{%s}$" % (p, p))
plt.show()