gpt4 book ai didi

python - 如何用 3 个数组制作彩色 2D 网格

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:58 27 4
gpt4 key购买 nike

我有三个长度相等的数组 x、y 和 z。 x 和 y 数组是网格的 x 轴和 y 轴。 z 数组将确定网格 block 的颜色。例如,

x = [10, 10, 10, 20, 20, 20, 30, 30, 30]
y = [10, 20, 30, 10, 20, 30, 10, 20, 30]
z = [100, 54, 32, 67, 71, 88, 100, 15, 29]

很容易用它来制作 3D 绘图

ax.plot_trisurf(x, y, z, cmap=cm.RdYlGn)

ax.bar3d(x, y, [0] * len(x), 100, 100, z, cmap=cm.RdYlGn)

但我正在寻找类似的东西 this

最佳答案

np.meshgrid 返回两个二维数组的元组,您可以直接解压该元组

X,Y = np.meshgrid(x,y)

但是,对于 imshow 绘图,您不需要这些。您的代码中需要但缺少的是 z 值的二维数组。这将是提供给 imshow 的数组。

img = plt.imshow(Z)

如果您想使用网格网格,则可以使用 XY 值,

plt.pcolormesh(X,Y,Z)

查看示例数据,可以使用imshow:

x = [10, 10, 10, 20, 20, 20, 30, 30, 30]
y = [10, 20, 30, 10, 20, 30, 10, 20, 30]
z = [100, 54, 32, 67, 71, 88, 100, 15, 29]

import matplotlib.pyplot as plt
import numpy as np

z = np.array(z).reshape(3,3)

plt.imshow(z,extent=[5,35,5,35])

plt.show()

enter image description here

关于python - 如何用 3 个数组制作彩色 2D 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43617578/

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