Python 与矩阵上的行和列相对应的数字

Python 与矩阵上的行和列相对应的数字,python,matplotlib,wxpython,Python,Matplotlib,Wxpython,我在matplotlib中创建了这个矩阵,其中一些坐标是[(1109),(2109),(2130),(2131),(2132)]等等。我还有一个字母表['a','B','H','a','H'] 每个字母对应于矩阵的一行和一列。 怎样才能知道矩阵的每个正方形有多大? 稍后,我想制作一个颜色部分,它与矩阵相关,这取决于字母列表。 因此第一个A与矩阵(1109)上的点相关,因此颜色部分可以说A的红色与该行和列对齐,并且与位于其中的正方形一样宽。 第二个B与(2109)相关,颜色为蓝色,它与该行和该列对

我在matplotlib中创建了这个矩阵,其中一些坐标是
[(1109),(2109),(2130),(2131),(2132)]
等等。我还有一个字母表['a','B','H','a','H'] 每个字母对应于矩阵的一行和一列。 怎样才能知道矩阵的每个正方形有多大? 稍后,我想制作一个颜色部分,它与矩阵相关,这取决于字母列表。 因此第一个A与矩阵(1109)上的点相关,因此颜色部分可以说A的红色与该行和列对齐,并且与位于其中的正方形一样宽。 第二个B与(2109)相关,颜色为蓝色,它与该行和该列对齐,宽度与位于该行和该列的正方形相同


这里的颜色就是我要说的,每个颜色部分都适用于点的特定部分,因此当它是蓝色的一大部分时,有一大部分的B彼此相邻,我不确定这是否是您想要的,但我想尝试一下:

import matplotlib.pyplot as plt
import numpy as np

data = np.array([(1,1),(2,9),(2,3),(2,1),(2,2)])
letters = ['A', 'B', 'H', 'A', 'H']
colormap = {'A':(1,0,0),'B':(0,0,1),'H':(0,1,0)}

N = data.max() + 5
# color the background white (1 is white)
arr = np.ones((N,N,3))

for (x,y), letter in zip(data,letters):
    # color the point at (x,y) black
    arr[x,y] = (0,0,0)
    # color the x=0 band
    arr[0,y] =  colormap[letter]
    # color the y=N-1 band
    arr[x,N-1] =  colormap[letter]    

arr = arr.swapaxes(0,1)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

ax.imshow(arr, interpolation='nearest')
ax.invert_yaxis()
# ax.axis('off')
plt.show()

我不确定这是否是您想要的,但我会尝试一下:

import matplotlib.pyplot as plt
import numpy as np

data = np.array([(1,1),(2,9),(2,3),(2,1),(2,2)])
letters = ['A', 'B', 'H', 'A', 'H']
colormap = {'A':(1,0,0),'B':(0,0,1),'H':(0,1,0)}

N = data.max() + 5
# color the background white (1 is white)
arr = np.ones((N,N,3))

for (x,y), letter in zip(data,letters):
    # color the point at (x,y) black
    arr[x,y] = (0,0,0)
    # color the x=0 band
    arr[0,y] =  colormap[letter]
    # color the y=N-1 band
    arr[x,N-1] =  colormap[letter]    

arr = arr.swapaxes(0,1)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

ax.imshow(arr, interpolation='nearest')
ax.invert_yaxis()
# ax.axis('off')
plt.show()

你的问题很难分析。给定颜色部分中出现的所有点是否都是矩阵中的行/列对?我认为你希望看到每种颜色都有一个正方形,对吗?我已经编辑了我的问题,希望它更容易理解。你能编辑它,具体说明坐标和字母如何组合在一起,在矩阵中创建正方形吗?这些正方形真的在你的矩阵里吗?还是图形上的正方形?你的问题很难解析。给定颜色部分中出现的所有点是否都是矩阵中的行/列对?我认为你希望看到每种颜色都有一个正方形,对吗?我已经编辑了我的问题,希望它更容易理解。你能编辑它,具体说明坐标和字母如何组合在一起,在矩阵中创建正方形吗?这些正方形真的在你的矩阵里吗?还是图形上的正方形?