仅绘制相关矩阵的一行或几行

Plot only one or few rows of a correlation matrix

我有一个名为 corrdata 的相关矩阵,它是我使用 numpy.corrcoef 计算的。然后我所做的是提取该矩阵的一行或几行,现在只想绘制它们而不是整个矩阵。 因为矩阵不再是正方形,所以无法使用 pcolorimshow 或类似的方法绘制数据。

所以我想寻求最好的替代方法来绘制这些提取的相关系数,并获得与相关矩阵相同的外观,即代表相关系数值的彩色方块,但只显示几行的完整矩阵。

您可以简单地插入一个额外的单一维度,以便将您的 (n,) 一维向量转换为 (1, n) 二维数组,然后使用 pcolorimshow 等。正常:

import numpy as np
from matplotlib import pyplot as plt

# dummy correlation coefficients
coeffs = np.random.randn(10, 10)
row = coeffs[0]

# indexing with None (or equivalently, np.newaxis) inserts an extra singleton
# dimension
plt.imshow(row[None, :], cmap=plt.cm.jet, interpolation='nearest')

See here 了解更多将一维向量转换为二维数组的方法。