У меня есть .txt файл со значениямиСтранное поведение GridData Matplotlib в
x1 y1 z1
x2 y2 z2
т.д.
С моим предыдущим небольшой опыт я пытался рисовать a contourf, с этим кодом
import numpy as np
import matplotlib
from matplotlib import rc
import matplotlib.mlab as ml
from pylab import *
rc('font', family='serif')
rc('font', serif='Times New Roman')
rc('font', size='9')
rc('text', usetex=True)
from matplotlib.mlab import griddata
import matplotlib.pyplot as plt
import numpy.ma as ma
from numpy.random import uniform
from matplotlib.colors import LogNorm
matplotlib.use('pgf')
fig = plt.figure()
data = np.genfromtxt('Velocidad.txt')
matplotlib.rcParams['xtick.direction'] = 'out'
matplotlib.rcParams['ytick.direction'] = 'out'
rc('text', usetex=True)
rc('font', family='serif')
x = data[:,0]
y = data[:,1]
z = data[:,2]
xi = np.linspace(0,3000.0, 400)
yi = np.linspace(0,4.0, 200)
zi = griddata(x,y,z,xi,yi,interp='nn')
CS = plt.contourf(xi,yi,zi,200,cmap=plt.cm.jet,rasterized=True)
plt.colorbar()
plt.xlim(0,3000)
plt.ylim(0,4.0)
plt.ylabel(r'$t$')
plt.xlabel(r'$x$')
plt.title(r' Contour de $v(x,t)$')
plt.savefig("CampoVel.png", dpi=100)
plt.show()
проблема заключается в выходе:
Когда я вижу эту картину, и я смотрю на данные (которые здесь, in this link), и я не понимаю тех разрывов х = 750 и х = 1875. И эти странные вертикальные линии по всему сюжету. Глядя на данные, я бы ожидал чего-то плавного, по крайней мере, в этих позициях, но выход явно не таков. Это проблема griddata()? Как я могу это решить?
Мне сказали, что, поскольку мои данные регулярно расположены на X и Y, я не должен использовать griddata(), но я посмотрел примеры, и я не могу заставить код работать.
Вы можете разместить пример вашего входного файла (или подмножество), чтобы сделать вашу проблему воспроизводимой? –