python - 二维数组 matplotlib 的颜色图

标签 python numpy matplotlib plot

所以,我认为这将非常简单,但我一直很难在一个易于理解的示例中找到我正在寻找的内容。

基本上我想制作相位图,所以假设我有一个二维数组,如何让 matplotlib 将其转换为可以附加标题、轴和图例(彩条)的图。

我正在寻找一种极其简单的基本解决方案,它只使用适用于任何二维数组的所需内容。

我确定这很简单,我只是有点厚,但我真的有很多麻烦。

我一直在使用示例工具,但它们似乎不太适合我正在尝试做的事情:我喜欢这个图表的一般外观,我希望能够传入一个 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()

最佳答案

恐怕您发布的示例不起作用,因为 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()

关于python - 二维数组 matplotlib 的颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492830/

相关文章:

python - 从HTML内容获取社交网络信息

Python:如何在随机多项选择中跟踪 "correct"答案

python - python 中 scipy.signal.medfilt2d 背后的概念

python - seaborn distplot中的y轴是什么?

python - 对数尺度的椭圆和多边形面片

python - 我真的需要 Visual Studio 2010 for PIP 才能工作吗?或者我可以安装 2013/2015 并且它可以工作吗?

python - 没有名为 _sqlite3 的模块

python - 如何将字符串列表转换为 pytorch 中的张量?

python - 不对称切片python

python - 为 Pandas DataFrame 的图形设置 x 轴间隔(刻度)