在matplotlib/seaborn图中的某些单元格中添加自定义边框

Jus*_*gan 12 python matplotlib seaborn

现在我正在使用Seaborn的集群图生成一些集群热图 - 到目前为止一切都很好.

对于某个用例,我需要在特定单元格周围绘制彩色边框.有没有办法做到这一点?或者使用matplotlib中的pcolormesh或任何其他方式?

Sim*_*ons 20

您可以通过在要突出显示的单元格上过度绘制矩形修补程序来完成此操作.使用seaborn文档中的示例图

import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
g = sns.clustermap(flights)
Run Code Online (Sandbox Code Playgroud)

我们可以通过这样做来突出细胞

from matplotlib.patches import Rectangle
ax = g.ax_heatmap

ax.add_patch(Rectangle((3, 4), 1, 1, fill=False, edgecolor='blue', lw=3))
plt.show()
Run Code Online (Sandbox Code Playgroud)

这将生成带有突出显示单元格的图,如下所示:

在此输入图像描述

请注意,单元格的索引是基于左下角的原点为0.