Python 如何在matplotlib中叠加两个热图图?

Python 如何在matplotlib中叠加两个热图图?,python,matplotlib,Python,Matplotlib,我试图使用matplotlib(1.4.3)中的热图来可视化关联,这很好。我想突出显示热图中的特定单元格/点,我的第一个猜测是覆盖第二个创建高光的绘图。由于imshow创建了一个新窗口,但这并没有达到预期效果。下面是我的代码的浓缩版本。有没有其他方法可以在现有图形上渲染类似矩阵的内容 import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(np.random.rand(4,

我试图使用matplotlib(1.4.3)中的热图来可视化关联,这很好。我想突出显示热图中的特定单元格/点,我的第一个猜测是覆盖第二个创建高光的绘图。由于
imshow
创建了一个新窗口,但这并没有达到预期效果。下面是我的代码的浓缩版本。有没有其他方法可以在现有图形上渲染类似矩阵的内容

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.rand(4, 4), columns=list('ABCD'))
corrmatrix = df.corr()

fig, ax = plt.subplots()
im = ax.imshow(corrmatrix, cmap='afmhot', interpolation='none')

plt.colorbar(im)

ax.set_xticks(np.arange(len(df.columns)))
ax.set_xticklabels(df.columns)
ax.set_yticks(np.arange(len(df.columns)))
ax.set_yticklabels(df.columns)

relevant_cells = df > 0.9
rel_ax = ax.imshow(relevant_cells, cmap='YlOrBr', interpolation='none')

plt.show()

重点可以通过叠加两个热图并通过透明度进行调整来实现。为了清晰起见,故意更改了颜色贴图:如果C、C和A、C为真

rel_ax = ax.imshow(relevant_cells, cmap='Blues', interpolation='none', alpha=0.7)

请参阅关于同时显示两个热图的内容。感谢您的提醒!下面的答案解决了我的具体问题,但在查看数据的不同关联时,这将非常有用。