二维数组matplotlib的色图

斯莱特·维克托夫(Slater Victoroff):

因此,我认为这将非常简单,但是在一个易于理解的示例中,我一直很难找到要查找的内容。

基本上,我想绘制相位图,所以假设我有一个2d数组,如何获取matplotlib将此转换为可以附加标题,轴和图例(颜色条)的图。

我正在寻找一种非常简单的裸露解决方案,该解决方案仅使用可与任何2D阵列配合使用的要求。

我敢肯定这很简单,而且我只是有点胖,但是我确实对此有很多麻烦。

我一直在使用示例工具,但它们似乎不太适合我要尝试的操作:我喜欢此图的一般外观,我只想能够传递2dArray并具有相同的结果:

import numpy as np
import matplotlib as ml
import matplotlib.pyplot as plt

H = [[1,2,3,4][5,6,7,8][9,10,11,12][13,14,15,16]]

fig = plt.figure(figsize=(6, 3.2))

ax = fig.add_subplot(111)
ax.set_title('colorMap')
X,Y = np.meshgrid(xedges, yedges)
plt.pcolormesh(X, Y, H)
ax.set_aspect('equal')

cax = fig.add_axes([0.12, 0.1, 0.78, 0.8])
cax.get_xaxis().set_visible(False)
cax.get_yaxis().set_visible(False)
cax.patch.set_alpha(0)
cax.set_frame_on(False)
plt.colorbar(orientation='vertical')
plt.show()
heltonbiker:

恐怕您发布的示例无法正常运行,因为未定义X和Y。因此,代替pcolormesh我们使用imshow

import numpy as np
import matplotlib.pyplot as plt

H = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12],
              [13, 14, 15, 16]])  # added some commas and array creation code

fig = plt.figure(figsize=(6, 3.2))

ax = fig.add_subplot(111)
ax.set_title('colorMap')
plt.imshow(H)
ax.set_aspect('equal')

cax = fig.add_axes([0.12, 0.1, 0.78, 0.8])
cax.get_xaxis().set_visible(False)
cax.get_yaxis().set_visible(False)
cax.patch.set_alpha(0)
cax.set_frame_on(False)
plt.colorbar(orientation='vertical')
plt.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章