Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from scipy.interpolate import griddata
- import matplotlib.pyplot as plt
- levels = range(-200, -80, 30)
- lon = (-73.2898, -73.8519)
- lat = (6.767, 7.3601)
- datos_contorno = {'Z': [[7.3601, -73.8519, -117.45652173913044], [7.1269, -73.2898, -129.97826086956522], [6.767, -73.725, -130.21014492753622]]}
- contador = 1
- banda = datos_contorno["Z"]
- if len(banda[0]) > 2: # mas de dos estaciones
- print("por aca pasó")
- traspuesta = [list(f) for f in (zip(*banda))]
- # coordenadas de datos y valores
- x = np.array(traspuesta[0])
- y = np.array(traspuesta[1])
- z = np.array(traspuesta[2])
- # cuadrícula de destino a interpolar
- xi = np.linspace(lon[1], lon[0], 12)
- yi = np.linspace(lat[0], lat[1], 12)
- xi, yi = np.meshgrid(xi, yi)
- # interpolar
- zi = griddata((x, y), z, (xi, yi), method="linear")
- print(zi)
- # plotear
- fig = plt.figure()
- ax = fig.add_subplot(111)
- cs = plt.contourf(xi, yi, zi, levels=levels)
- plt.contour(cs, colors='k')
- plt.xlabel('Longitud', fontsize=16)
- plt.ylabel('Latitud', fontsize=16)
- plt.colorbar()
- plt.scatter(x, y, marker='o', c='b', s=5)
- plt.grid()
- plt.savefig("fig_" + str(contador) + '.png')
- plt.close(fig)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement