我正在尝试编写一个函数来使用Python 3.4中的matplotlib(此处的示例)生成Matlab样式相关图.但是,我想更改绘图,以便对角线子图显示变量的名称,下三角形子图显示Pearson相关系数,上三角形子图显示散点图.下面是一些生成示例数据的代码和我编写的函数.它在正确的位置显示具有可变名称和相关系数的相应4x4子图,但散点图不会显示.
import numpy as np
import matplotlib.pyplot as plt
means = [0, 1, 0, 2]
sig = [[1, 0.5, 0, -0.1], [0.5, 3, 0, 0.2], [0, -0.1, 1, -0.3], [-0.1, 0.2, -0.3, 1]]
data = np.random.multivariate_normal(means, sig, 50)
names = ['Var' + str(i) for i in range(data.shape[1])]
def corrplot(data, names):
corrMat = np.corrcoef(data, rowvar = 0)
numVars = data.shape[1]
fig, ax = plt.subplots(numVars, numVars, sharex = "col", sharey = "row")
fig.subplots_adjust(wspace = 0, hspace = 0)
for …Run Code Online (Sandbox Code Playgroud)