在matplotlib中imshow的参数是模糊的

时间:2018-01-25 23:05:11

标签: python matplotlib

我不明白imshow的正确尺寸顺序应该是什么。 The documentation似乎存在冲突。

是(n,m)还是MXN?
是(m,n)还是NXM?

或者有区别吗?

看起来他们正在随意交换东西。

有人知道吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

这确实有点令人困惑。这里的含义当然是M x N元素的数组具有形状(n,m),其中N=nM=m。然而,这偏离了定义矩阵尺寸的通常惯例。

矩阵的通常惯例是" N by M"表示N行和M列的矩阵;这将会形成(N,M)" (在numpy惯例中)。

出于某种原因,imshow文档偏离了该约定。我想有人可以改变这一点。

关于imshow的可能维度,应阅读正确的版本

  

X:array_like,shape (n, m)(n, m, 3)(n, m, 4)

     

将X中的图像显示到当前轴。 X可以是阵列或PIL图像。如果X是一个数组,它可以具有以下形状和类型:

     

n x m / (n,m) - 要映射的值(float或int)
  n x m x 3 / (n,m,3) - RGB(浮点数或uint8)
  n x m x 4 / (n,m,4) - RGBA(float或uint8)

     

n x m x 4n x m x 4浮点数组的每个组件的值应在0.0到1.0的范围内。 n x m数组根据范数(将标量映射到标量)和cmap(将标准标量映射到颜色)映射到颜色。

此处n是行数,m是列数。

答案 1 :(得分:0)

传递给函数imshow()的数组的形状是(n,m)。这意味着你有一个包含n行和m列的数组。 没有翻转数组,正如人们可以从文档中假设的那样。