如何使用seaborn生成高分辨率热图?

Loo*_*ast 4 python heatmap seaborn

我有太多的相关特征(~100),导致分辨率低。我怎样才能提高分辨率?

sns.heatmap(Feature_corr, cbar = True,  square = True, annot=False,annot_kws={'size': 15},  cmap= 'coolwarm')
Run Code Online (Sandbox Code Playgroud)

Ped*_*ito 7

figurematplotlib.pyplot之前调用heatmap并使用 设置图像大小figsize,即:

from matplotlib import pyplot
pyplot.figure(figsize=(15, 15)) # width and height in inches
sns.heatmap(Feature_corr, cbar=1, square=1, annot=0, annot_kws={'size': 15}, cmap= 'coolwarm')
Run Code Online (Sandbox Code Playgroud)


小智 6

使用 Matplotlib 中的图形参数可以修改轴标签的宽度、高度、字体大小和 dpi。调整这些值可能有助于您的图像分辨率。

此外,您可以使用参数annot_kws={"size": 8}fromsns.heatmap()来修改值的字体大小。

DPI表示图中每英寸的像素数。DPI 值越高,分辨率越高。

以前的

corr = df2.corr() #your dataframe
sns.heatmap(corr, cmap="Blues", annot=True)
Run Code Online (Sandbox Code Playgroud)

未经 Matplotlib 调整的结果图像

未经 Matplotlib 调整的结果图像

使用 Matplotlib

import matplotlib.pyplot as plt
import seaborn as sns

corr = df2.corr() #your dataframe

# figsize=(6, 6) control width and height
# dpi = 600, I 
plt.figure(figsize=(6, 6), 
           dpi = 600) 
 
# parameter annot_kws={"size": 8} control corr values font size
sns.heatmap(corr, cmap="Blues", annot=True, annot_kws={"size": 8})

plt.tick_params(axis = 'x', labelsize = 12) # x font label size
plt.tick_params(axis = 'y', labelsize = 12) # y font label size
Run Code Online (Sandbox Code Playgroud)

结果:

Matplotlib 的图像结果示例: