📜  如何在Python中创建 seaborn 相关热图?

📅  最后修改于: 2022-05-13 01:55:27.100000             🧑  作者: Mango

如何在Python中创建 seaborn 相关热图?

Seaborn 是一个基于 matplotlib 的Python库,用于数据可视化。它提供了一种以统计图形格式呈现数据的媒介,作为传递某些信息的信息丰富且有吸引力的媒介。热图是 seaborn 支持的组件之一,其中使用调色板描绘相关数据的变化。本文主要关注相关热图以及如何将 seaborn 与 pandas 和 matplotlib 结合使用来为数据帧生成热图。

安装

像任何其他Python库一样,seaborn 可以使用 pip 轻松安装:

pip install seaborn

该库是 Anaconda 发行版的一部分,如果您的 IDE 受 Anaconda 支持,通常只需通过导入即可工作,但也可以通过以下命令安装:

conda install seaborn

相关热图

相关热图是显示两个离散维度之间的二维相关矩阵的热图,使用彩色单元格来表示通常来自单色标度的数据。第一个维度的值显示为表的行,而第二个维度的值显示为列。单元格的颜色与与维度值匹配的测量值数量成正比。这使得相关热图成为数据分析的理想选择,因为它使模式易于阅读并突出显示相同数据中的差异和变化。相关热图与常规热图一样,由颜色条辅助,使数据易于阅读和理解。

以下步骤显示了如何生成相关热图:

  • 首先导入所有需要的模块
  • 导入存储数据的文件
  • 绘制热图
  • 使用 matplotlib 显示它

将使用 seaborn 模块的热图绘制方法。

除了 data 所有其他属性都是可选的, data 显然将是要绘制的数据。这里的数据必须通过 corr() 方法传递以生成相关热图。此外, corr() 本身会消除在生成相关热图时无用的列并选择可以使用的列。

示例 1:

对于下面给出的示例,这里使用的是从 kaggle.com 下载的数据集。该图显示了与亚马逊畅销小说相关的数据。

使用的数据集 –畅销书

Python3
# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
  
# import file with data
data = pd.read_csv("C:\\Users\\Vanshi\\Desktop\\bestsellers.csv")
  
# prints data that will be plotted
# columns shown here are selected by corr() since
# they are ideal for the plot
print(data.corr())
  
# plotting correlation heatmap
dataplot = sb.heatmap(data.corr(), cmap="YlGnBu", annot=True)
  
# displaying heatmap
mp.show()


Python3
# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
  
# import file with data
data=pd.read_csv("C:\\Users\\Vanshi\\Desktop\\cumulative.csv")
  
# plotting correlation heatmap
dataplot=sb.heatmap(data.corr())
  
# displaying heatmap
mp.show()


输出:

上面的例子处理小数据。以下示例描述了大型数据集的输出方式,

示例 2:

本例中使用的数据集是美国宇航局编制的系外行星空间研究数据集。

使用的数据集 -累积

蟒蛇3

# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
  
# import file with data
data=pd.read_csv("C:\\Users\\Vanshi\\Desktop\\cumulative.csv")
  
# plotting correlation heatmap
dataplot=sb.heatmap(data.corr())
  
# displaying heatmap
mp.show()

输出: