我有一个大小为88的矢量A A = [n1,n2,...,n88]矢量的每个值都有一个传感器电压强度读数,范围从0到1.我想将这些强度值转换为像素强度值如下图所示: 该图像具有280 x 420像素,其中88个传感器均匀分布。白色表示读数为0,黑色表示读数为1。 有人可以告诉我如何使用matplotlib在Python中实现这个? 谢谢。
答案 0 :(得分:2)
from pylab import figure, show, rand, colorbar
from matplotlib.patches import Ellipse
from matplotlib.collections import PatchCollection
from matplotlib import cm
#dummy data
A = rand(88)
#todo: are the i and j loops in the right order for the data?
spots = [Ellipse(xy=(i*475/11. + 18,j*275/8. + 16 + 16*(i%2 > 0)),
width=20, height=25)
for i in range(11) for j in range(8)]
fig = figure()
ax = fig.add_subplot(111, aspect='equal')
p = PatchCollection(spots, cmap=cm.cubehelix_r)
p.set_array(A)
p.set_edgecolor('face')
ax.add_collection(p)
colorbar(p)
ax.set_xlim(0, 420)
ax.set_ylim(280, 0)
show()