小编use*_*697的帖子

python中的3D外推(基本上,scipy.griddata扩展到外推)

我在scipy中使用griddata函数来插入3维和4维数据.它的作用就像一个冠军,除了它返回一堆NaN,因为我需要的一些点超出了输入数据的范围.鉴于Nd数据仅适用于"线性"模式插值,因此使用griddata进行外推而不是仅仅返回NaN应该很容易.有没有人这样做或找到了解决方法?澄清一下:我有非结构化数据,所以我不能使用任何需要常规网格的函数.谢谢!亚历克斯

python interpolation numpy scipy qhull

6
推荐指数
2
解决办法
2690
查看次数

如何在没有对数缩放图像的情况下应用对数轴标签(matplotlib imshow)

我有一个大数据集,在分布上是对数的。我想做一个热图,所以我做了一个 2D 直方图并将其传递给 implot。因为数据是对数的,所以我将数据的对数传递给直方图。但是,当我绘制绘图时,我希望恢复轴(即 10^hist bin 值)和对数轴。如果我将轴设置为 log 样式,则图像看起来全部倾斜。当我将数据传递给直方图时,数据已经“记录”了,所以我不希望图像受到影响,只是轴受到影响。所以,在下面的例子中,我想要左边的图像和右边的轴。

我想我可以用一个假的叠加轴来做到这一点,但如果有更好的方法,我不喜欢做那种事情......

在此处输入图片说明

import numpy as np
import matplotlib.pyplot as plt

x=10**np.random.random(10000)*5
y=10**np.random.random(10000)*5

samps, xedges, yedges = np.histogram2d(np.log10(y), np.log10(x),     bins=50)    

ax = plt.subplot(121)

plt.imshow(samps, extent=[0,5,0,5])
plt.xlabel('Log10 X')
plt.ylabel('Log10 Y')

ax = plt.subplot(122)    
plt.imshow(samps, extent=[10**0,10**5,10**0,10**5])
plt.xlabel('X')
plt.ylabel('Y')
plt.xscale('log')
plt.yscale('log')
plt.show()
Run Code Online (Sandbox Code Playgroud)

python numpy axes matplotlib histogram2d

5
推荐指数
1
解决办法
1846
查看次数

标签 统计

numpy ×2

python ×2

axes ×1

histogram2d ×1

interpolation ×1

matplotlib ×1

qhull ×1

scipy ×1