график необработанных данных
Я хочу избавиться от изгиба (артефакт экспериментальной установки), сдвигая каждую строку, чтобы горячая кривая стала вертикальной горячей линией.
Я написал код для поиска и смещения каждую строку x в Xmesh, чтобы выровнять горячая линия. Когда я рисую данные со смещенной X-сеткой, центры каждого «пикселя» хорошо выравниваются, но каждый «пиксель» фактически наклоняется:
данные, построенные со смещенной X-сеткой
Есть ли способ сдвинуть строки и избежать эффекта наклона?
Ниже приведен простой пример кода, демонстрирующий это явление:
Код: Выделить всё
import numpy as np
import matplotlib.pyplot as plt
xs = [1,3,4,8]
ys = [5,6,7,8]
zGrid = np.random.rand(len(xs),len(ys))
X,Y = np.meshgrid(xs,ys)
print(X)
print(Y)
Xshifted = np.zeros([len(X),len(Y)])
shifts = [0,1,2,1]
for i in range(len(Y[0])):
for j in range(len(X[0])):
Xshifted[i,j] = X[i,j] - shifts[i]
fig, axs = plt.subplots(2,1)
axs[0].pcolormesh(X,Y,zGrid,shading='nearest',cmap=plt.cm.jet,)
axs[1].pcolormesh(Xshifted,Y,zGrid,shading='nearest',cmap=plt.cm.jet,)
plt.show()
простые графики
Я просмотрел документацию и нашел аргумент ключевого слова «смещение», но документации по нему почти не существует, и я не смог найти никаких примеров.
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-shifting