import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
def heat_kernel_1d(x, t):
return (1.0 / np.sqrt(4.0 * np.pi * t)) * np.exp(-(x**2) / (4.0 * t))
x = np.linspace(-3, 3, 250)
t = np.linspace(0.05, 2.0, 200)
X, T = np.meshgrid(x, t)
Z = heat_kernel_1d(X, T)
fig = plt.figure(figsize=(9, 6), facecolor="#ffff97ff")
ax = fig.add_subplot(111, projection="3d")
surf = ax.plot_surface(X, T, Z, cmap=cm.viridis, linewidth=0, antialiased=True)
ax.set_xlabel("x")
ax.set_ylabel("t")
ax.set_zlabel("Φ(x,t)")
ax.set_facecolor("#ffff97ff")
fig.colorbar(surf, ax=ax, shrink=0.6, pad=0.1, label="Φ(x,t)")
plt.tight_layout()
plt.show()
