堆叠 scatter_matrix 和 matshow
Stacking scatter_matrix and matshow
我使用 sci-kit-learn 中的鸢尾花数据来获取以下数据框:
df = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
columns= iris['feature_names'] + ['target'])
绘制 scatter_matrix
并使用 matshow
绘制相关矩阵给我图表 scatter_matrix plot 和
matshow(df.corr()),分别。
我的问题如下。有没有办法堆叠这些图表?换句话说,在 matshow(df.corr())
?
上绘制 scatter_matrix
提前致谢。
我想您真正想要的是将各个轴的背景着色为相关矩阵的 matshow 图中出现的颜色。
为此,我们可以通过将归一化(至 0..1)相关矩阵提供给 matplotlib 颜色图并使用 ax.set_facecolor
更改轴背景颜色来找出颜色。
import seaborn.apionly as sns
import pandas as pd
import matplotlib.pyplot as plt
# taking the iris from seaborn (should be same as scikit)
df = sns.load_dataset("iris")
axes =pd.scatter_matrix(df)
corr = df.corr().values
corr_norm = (corr-corr.min())/(corr.max()-corr.min())
for i, ax in enumerate(axes.flatten()):
c = plt.cm.viridis(corr_norm.flatten()[i])
ax.set_facecolor(c)
plt.show()
我使用 sci-kit-learn 中的鸢尾花数据来获取以下数据框:
df = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
columns= iris['feature_names'] + ['target'])
绘制 scatter_matrix
并使用 matshow
绘制相关矩阵给我图表 scatter_matrix plot 和
matshow(df.corr()),分别。
我的问题如下。有没有办法堆叠这些图表?换句话说,在 matshow(df.corr())
?
scatter_matrix
提前致谢。
我想您真正想要的是将各个轴的背景着色为相关矩阵的 matshow 图中出现的颜色。
为此,我们可以通过将归一化(至 0..1)相关矩阵提供给 matplotlib 颜色图并使用 ax.set_facecolor
更改轴背景颜色来找出颜色。
import seaborn.apionly as sns
import pandas as pd
import matplotlib.pyplot as plt
# taking the iris from seaborn (should be same as scikit)
df = sns.load_dataset("iris")
axes =pd.scatter_matrix(df)
corr = df.corr().values
corr_norm = (corr-corr.min())/(corr.max()-corr.min())
for i, ax in enumerate(axes.flatten()):
c = plt.cm.viridis(corr_norm.flatten()[i])
ax.set_facecolor(c)
plt.show()