I have two different contour maps at different depths within a 3D figure. I want to fill the gap between the two contour maps based on existing data. I don't want to stack the contour maps on top of each other because it creates a layered appearance. The desired visualization is more volumetric. How can I achieve this?
The contour maps generated by this code:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
x = np.random.rand(100)
y = np.random.rand(100)
z1 = np.sin(2 * np.pi * x) * np.cos(2 * np.pi * y)
z2 = np.cos(2 * np.pi * x) * np.sin(2 * np.pi * y)
xi, yi = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))
zi1 = griddata((x, y), z1, (xi, yi), method='cubic')
zi2 = griddata((x, y), z2, (xi, yi), method='cubic')
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.contourf(xi, yi, zi1, cmap='turbo',levels=100,zdir='z', offset=0.75,antialiased=True)
ax.contourf(xi, yi, zi2, cmap='turbo',levels=100,zdir='z', offset=0,antialiased=True)
plt.colorbar()
plt.tight_layout()
plt.show()

I want to fill the space between the two layers that appear as shown in order to obtain a volumetric image. Do you have any suggested method?