gpt4 book ai didi

python - 如何在 Python 中将 3D 数据绘制为 2D 网格颜色图?

转载 作者:行者123 更新时间:2023-11-28 17:39:13 27 4
gpt4 key购买 nike

我有 3D 数据作为 numpy 数组的列(也就是说数组 [0] = [0,0,0],等等),例如

X     Y     Z

0 0 0
0 1 10
1 0 20
1 1 30

我想绘制此图,以便每个 (X,Y) 坐标都有一个以坐标为中心的正方形,颜色条从(例如)0 到 30 显示 Z 值。

然后我想叠加一些等高线,但问题的第一部分是最重要的。

对已经网格化数据的人有帮助,但我不确定调用我的列数据的最佳 matplotlib 例程。此外,这是用于科学出版的,因此需要质量和外观都很好!希望有人能帮忙!

最佳答案

您可以使用 matplotlib.mlab 中的 griddata 正确地网格化您的数据。

import numpy as np
from matplotlib.mlab import griddata

x = np.array([0,0,1,1])
y = np.array([0,1,0,1])
z = np.array([0,10,20,30])
xi = np.arange(x.min(),x.max()+1)
yi = np.arange(y.min(),y.max()+1)
ar = griddata(x,y,z,xi,yi)

# ar is now
# array([[ 0., 20.],
# [ 10., 30.]])

映射的xiyi 点的选择由您决定,它们不必是整数,因为griddata 可以插值给你。

关于python - 如何在 Python 中将 3D 数据绘制为 2D 网格颜色图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com