Python 与矩阵上的行和列相对应的数字
我在matplotlib中创建了这个矩阵,其中一些坐标是Python 与矩阵上的行和列相对应的数字,python,matplotlib,wxpython,Python,Matplotlib,Wxpython,我在matplotlib中创建了这个矩阵,其中一些坐标是[(1109),(2109),(2130),(2131),(2132)]等等。我还有一个字母表['a','B','H','a','H'] 每个字母对应于矩阵的一行和一列。 怎样才能知道矩阵的每个正方形有多大? 稍后,我想制作一个颜色部分,它与矩阵相关,这取决于字母列表。 因此第一个A与矩阵(1109)上的点相关,因此颜色部分可以说A的红色与该行和列对齐,并且与位于其中的正方形一样宽。 第二个B与(2109)相关,颜色为蓝色,它与该行和该列对
[(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()
你的问题很难分析。给定颜色部分中出现的所有点是否都是矩阵中的行/列对?我认为你希望看到每种颜色都有一个正方形,对吗?我已经编辑了我的问题,希望它更容易理解。你能编辑它,具体说明坐标和字母如何组合在一起,在矩阵中创建正方形吗?这些正方形真的在你的矩阵里吗?还是图形上的正方形?你的问题很难解析。给定颜色部分中出现的所有点是否都是矩阵中的行/列对?我认为你希望看到每种颜色都有一个正方形,对吗?我已经编辑了我的问题,希望它更容易理解。你能编辑它,具体说明坐标和字母如何组合在一起,在矩阵中创建正方形吗?这些正方形真的在你的矩阵里吗?还是图形上的正方形?