仅显示 Python 中相关矩阵的第一列
Show only first column in a correlation matrix in Python
我使用 seaborn 和以下命令创建了 pandas 数据帧的相关矩阵:
corrMatrix = df.corr()
#sns.heatmap(corrMatrix, annot=True)
#plt.show()
ax = sns.heatmap(
corrMatrix,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(20, 220, n=200),
square=True, annot=True
)
ax.set_xticklabels(
ax.get_xticklabels(),
rotation=45,
horizontalalignment='right'
);
我得到以下矩阵图:
如何屏蔽相关矩阵以仅显示矩阵的第一列?我还想要右侧的图例显示。
这对我有用的虚拟数据:
df = pd.DataFrame(corrMatrix['# of Prophages'],
index=corrMatrix.index)
sns.heatmap(df, annot=True, fmt="g", cmap='viridis')
plt.show()
这是改编自这个答案:Seaborn Heatmap with single column
在你的情况下 x
是 corrMatrix[['# of Prophages']]
df = pd.DataFrame({'A': np.random.rand(8), 'B': np.random.rand(8)})
corr = df.corr()
x = corr[['A']]
sns.heatmap(x)
校正:
A B
A 1.000000 -0.192375
B -0.192375 1.000000
sns.heatmap(校正):
sns.heatmap(x):
这可能对您有帮助:
归功于 unutbu
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.matrix as smatrix
sns.set()
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")
flights = flights.reindex(flights_long.iloc[:12].month)
sns.heatmap(flights)
结果:
columns = [1953]
myflights = flights.copy()
mask = myflights.columns.isin(columns)
myflights.loc[:, mask] = 0
arr = flights.values
vmin, vmax = arr.min(), arr.max()
sns.heatmap(flights, mask=myflights, annot=True, fmt="d", vmin=vmin, vmax=vmax)
输出:
columns = [1953]
myflights = flights.copy()
mask = myflights.columns.isin(columns)
myflights = myflights.loc[:, mask]
arr = flights.values
vmin, vmax = arr.min(), arr.max()
sns.heatmap(myflights, annot=True, fmt="d", vmin=vmin, vmax=vmax)
输出:
我使用 seaborn 和以下命令创建了 pandas 数据帧的相关矩阵:
corrMatrix = df.corr()
#sns.heatmap(corrMatrix, annot=True)
#plt.show()
ax = sns.heatmap(
corrMatrix,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(20, 220, n=200),
square=True, annot=True
)
ax.set_xticklabels(
ax.get_xticklabels(),
rotation=45,
horizontalalignment='right'
);
我得到以下矩阵图:
如何屏蔽相关矩阵以仅显示矩阵的第一列?我还想要右侧的图例显示。
这对我有用的虚拟数据:
df = pd.DataFrame(corrMatrix['# of Prophages'],
index=corrMatrix.index)
sns.heatmap(df, annot=True, fmt="g", cmap='viridis')
plt.show()
这是改编自这个答案:Seaborn Heatmap with single column
在你的情况下 x
是 corrMatrix[['# of Prophages']]
df = pd.DataFrame({'A': np.random.rand(8), 'B': np.random.rand(8)})
corr = df.corr()
x = corr[['A']]
sns.heatmap(x)
校正:
A B
A 1.000000 -0.192375
B -0.192375 1.000000
sns.heatmap(校正):
sns.heatmap(x):
这可能对您有帮助:
归功于 unutbu
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.matrix as smatrix
sns.set()
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")
flights = flights.reindex(flights_long.iloc[:12].month)
sns.heatmap(flights)
结果:
columns = [1953]
myflights = flights.copy()
mask = myflights.columns.isin(columns)
myflights.loc[:, mask] = 0
arr = flights.values
vmin, vmax = arr.min(), arr.max()
sns.heatmap(flights, mask=myflights, annot=True, fmt="d", vmin=vmin, vmax=vmax)
输出:
columns = [1953]
myflights = flights.copy()
mask = myflights.columns.isin(columns)
myflights = myflights.loc[:, mask]
arr = flights.values
vmin, vmax = arr.min(), arr.max()
sns.heatmap(myflights, annot=True, fmt="d", vmin=vmin, vmax=vmax)
输出: