numpy 二维数组matplotlib的彩色图

aor9mmx1  于 2023-01-13  发布在  其他
关注(0)|答案(2)|浏览(135)

我原以为这会很简单,但我一直很难在一个容易理解的例子中找到我想要的东西。
基本上我想做相位图,假设我有一个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()
bvhaajcl

bvhaajcl1#

我担心你发布的例子不起作用,因为X和Y没有定义,所以我们用imshow代替pcolormesh

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()
7nbnzgx9

7nbnzgx92#

下面是一个包含关键代码行的最简单示例:

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]])

plt.imshow(H, interpolation='none')
plt.show()

编辑:(1/2023)仍在使用Python 3.9.13

相关问题