python - Matplotlib,如何将数组表示为图像?

标签 python arrays matplotlib

这是我目前的尝试

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

with open('base.txt','r') as f:
    vst = map(int, itertools.imap(float, f))

v1=vst[::3]
print type(v1)

a=np.asarray(v1)
print len(a)
a11=a.reshape(50,100)

plt.imshow(a11, cmap='hot')
plt.colorbar()
plt.show()

我有 (50,100) 个数组,每个元素都有数值(范围 1200-5400)。我想要代表数组的图像。但我得到了这个 enter image description here

我应该更改什么以获得正确的图像?

最佳答案

我没有来自 base.txt 的数据。
但是,为了模拟您的问题,我创建了 1500 到 5500 之间的随机数并创建了一个 50 x 100 numpy array ,我相信这接近您的数据和要求.

然后我根据您的绘图代码简单地绘制了数据。 我得到了数组的真实表示。 看看这是否有帮助。

演示代码

#import itertools
import numpy as np
from numpy import array
import matplotlib.pyplot as plt
import random


#Generate a list of 5000 int between 1200,5500
M = 5000
myList = [random.randrange(1200,5500)  for i in xrange(0,M)]

#Convert to 50 x 100 list
n = 50
newList = [myList[i:i+n] for i in range(0, len(myList), n)]

#Convert to 50 x 100 numpy array
nArray = array(newList)
print nArray

a11=nArray.reshape(50,100)
plt.imshow(a11, cmap='hot')
plt.colorbar()
plt.show()

情节 enter image description here

关于python - Matplotlib,如何将数组表示为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410321/

相关文章:

matplotlib - Matplotlib 中相交透明层的正确图例颜色

c++ - 我可以使用 std::vector<std::vector<T>> 来表示 C++ 中的二维数组吗?

python - 在 matplotlib 上抓取并绘制由线段交叉的二维数组的值

python - 如何在 Django 中为用户授予单个 session 额外权限

python - 为什么我的旋转图像没有正确保存?

python - 如何将给定列表的最大值和最小值转换为元组形式,而不使用 python 内置的 max 和 min 函数

python - 神经网络的加权输入

c++ - 指向类成员的函数指针生成编译器错误

php - 使用 PHP 将数组插入 MySQL

numpy - 在 OS X 10.7.4 上为 Python 3.2.3 安装 NumPy