Matplotlib: interpolación cúbica de datos (o FIT) para el gráfico de contorno

Tengo una serie de datos del dispositivo. ¿Cómo puedo hacer interpolación cúbica o FIT para esta ttwig?

import matplotlib.pyplot as plt a = [[1,1,1],[2,2,2],[3,3,3]] b = [[1,2,3],[1,2,3],[1,2,3]] c = [[3,2,1],[1,4,2],[4,5,1]] fig1 = plt.figure() ax1 = fig1.add_subplot(111) fig1.set_size_inches(3.54,3.54) #Create Contour plot contour=ax1.contour(a,b,c) plt.show() 

Puede adaptar la sugerencia de @Joe Kington y utilizar scipy.ndimage.zoom que para su caso de interpolación cúbica se ajusta perfectamente:

 import matplotlib.pyplot as plt import numpy as np from scipy.ndimage import zoom from mpl_toolkits.mplot3d import axes3d # Receive standard Matplotlib data for 3d plot X, Y, Z = axes3d.get_test_data(1) # '1' is a step requested data #Calculate smooth data pw = 10 #power of the smooth Xsm = zoom(X, pw) Ysm = zoom(Y, pw) Zsm = zoom(Z, pw) # Create blank plot fig = plt.figure() #Create subplots ax1 = fig.add_subplot(211) ax2 = fig.add_subplot(212) # Plotting ax1.contour(X, Y, Z) ax2.contour(Xsm, Ysm, Zsm) plt.show() 

Lo que da:

introduzca la descripción de la imagen aquí