绘制带有不同“ bin”的脓肿的颜色图

时间:2018-10-12 20:04:40

标签: python-2.7 numpy colormap

我以here为例,说明我想做什么:

import numpy as np
from matplotlib.mlab import griddata
import matplotlib.pyplot as plt 

xs0 = [1,4,0.5,2,5,10,33,0.04]
ys0 = [2,5,44,0.33,2,14,20,0.03]
zs0 = [0.77, 0.88, 0.65, 0.55, 0.89, 0.9, 0.8,0.95]

N = 30j
extent = (np.min(xs0),np.max(xs0),np.min(ys0),np.max(ys0))  
xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:N]    
resampled = griddata(xs0, ys0, zs0, xs, ys, interp='linear')   
plt.imshow(np.fliplr(resampled).T, extent=extent,interpolation='none')
plt.colorbar()

enter image description here

但是有很多问题我没有成功解决:

  • 就y而言,修改x脓肿的长度是不可能的。当您在x和y数据之间有数量级时,这是一个大问题。
  • 如果我在imshow函数中使用了color= 'bwr',它将无法正常工作!我不明白为什么。

  • 最重要的一点:我们如何才能为x脓肿修复某个垃圾箱,为y修复另一个垃圾箱?在我的测量中,每次扫描(y脓肿)取800分,但只有50个不同的x值。那是个问题。我希望能够独立选择它们,而无需在两个不同的x值之间进行任何插值。我可以将xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:N]更改为xs,ys = np.mgrid[extent[0]:extent[1]:N, extent[2]:extent[3]:M]并分别创建N = 30jM = 300j,但这并不方便...

  • 最后一个问题:N = 30j是什么?为什么不只是N = 30?!

非常感谢您的帮助!如您所见,我有点迷路了... (当然,不必强迫使用此代码...我只有要绘制的X,Y,Z数据)

0 个答案:

没有答案