Seaborn 如何创建一个三角形相关热图
在本教程中,我们将学习如何使用seaborn创建一个三角形相关热图;正如名称所示,相关性是一种显示变量之间关联程度的指标。相关热图是一种表示数值变量之间关系的图表类型。这些图表用于了解哪些变量彼此相关以及它们之间关系的强度。而热图是使用不同颜色来表示数据的二维图形表示方式。
Seaborn是一个用于数据可视化的Python库。它在制作统计图表方面非常有用。它基于matplotlib建立,并与Pandas数据结构紧密集成。它提供了多种图表来表示数据。借助Pandas的帮助,我们可以创建吸引人的图表。在本教程中,我们将演示三个示例来创建三角形热图。最终,我们将学习使用Seaborn库创建令人惊叹且信息丰富的热图。
语法
以下是创建三角形相关热图的语法。
sns.heatmap(df.corr(),annot=True,fmt=".2f,mask=np.triu(np.ones_like(df.corr(),dtype=bool)))
在这个语法中,我们使用sns.heatmap()
创建了一个热力图。然后,我们使用df.corr()
传入一个DataFrame ‘df’的相关矩阵。我们还设置了annot=True
来在热力图上显示相关系数的值,fmt=".2f"
来将值格式化为两位小数,并且使用mask=np.triu(np.ones_like(df.corr(), dtype=bool))
来掩盖热力图的上三角部分。这使得热力图呈三角形状,只显示代表唯一相关性的下三角部分。
示例1
这是一个使用’tips’作为数据集的示例。它包含有关餐厅服务员所给小费的信息。它包括变量如总消费、聚餐人数和小费金额。接下来,我们使用Seaborn的load_dataset()
函数加载Tips数据集,并使用数据集的corr()
方法创建相关矩阵。然后,我们使用Seaborn的heatmap()
函数创建一个三角形相关热力图。最后,我们设置属性并将地图颜色设置为’spring’,并使用plt.show()
函数绘制。生成的热力图显示了总消费、小费和聚餐人数之间的相关性。
import seaborn as sns
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
corr = tips.corr()
mask = np.zeros_like(corr, dtype=np.bool_)
mask[np.triu_indices_from(mask)] = True
sns.heatmap(corr, mask=mask, cmap='spring', annot=True)
plt.show()
输出
示例2
在这个示例中,我们使用了“titanic”数据集,这是一个用于机器学习和统计的数据集,包含有关泰坦尼克号上乘客的信息,包括他们的年龄、性别、票务等级以及是否幸存的情况。首先,我们使用Seaborn的“load_dataset()”函数加载了Titanic数据集,并使用数据集上的“corr()”方法创建了一个相关矩阵。然后,我们使用Seaborn的“heatmap()”函数创建了一个三角形相关热图,并设置了它的属性。最后,我们使用Matplotlib的“show()”函数显示了它。结果热图显示了年龄、票价和舱位等变量之间的相关性。
import seaborn as sns
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
titanic = sns.load_dataset("titanic")
corr = titanic.corr()
mask = np.zeros_like(corr, dtype=np.bool_)
mask[np.triu_indices_from(mask)] = True
sns.heatmap(corr, mask=mask, cmap='copper', annot=True)
plt.show()
输出
示例3
在这个示例中,我们使用鸢尾花数据集,这是另一个在机器学习和统计学中常用的经典数据集。它包含了对三个鸢尾花物种(山鸢尾、变色鸢尾和弗吉尼亚鸢尾)的萼片长度、萼片宽度、花瓣长度和花瓣宽度进行的测量。首先,我们使用’Seaborn的load_dataset()’函数加载了鸢尾花数据集,并使用数据集上的’corr()’方法创建了一个相关矩阵。然后,我们使用Seaborn的’heatmap()’函数创建了一个三角形相关热力图,并使用Matplotlib的’show()’函数显示它。生成的热力图显示了萼片长度、萼片宽度、花瓣长度和花瓣宽度之间的相关性。
import seaborn as sns
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
# Load the Iris dataset
iris = sns.load_dataset("iris")
# Create a correlation matrix
corr = iris.corr()
# Create a heatmap using Seaborn
mask = np.zeros_like(corr, dtype=np.bool_)
mask[np.triu_indices_from(mask)] = True
sns.heatmap(corr, mask=mask, cmap='coolwarm', annot=True)
plt.show()
输出
我们了解到Seaborn是一个强大的Python数据可视化库,它提供了各种功能来创建不同类型的可视化,包括热图。热图是一种有用的方式来可视化数据集中变量之间的相关性,特别是在变量数量较大的情况下。此外,Seaborn的‘heatmap()’函数允许我们通过cmap和annot参数自定义颜色图和在热图上显示相关系数。它还提供了一些内置的数据集,用于练习数据可视化,例如Iris数据集、Titanic数据集和Tips数据集。使用Seaborn创建热图对于数据科学家和分析师来说非常有用,他们必须探索和理解大型数据集中的相关性。借助这些热图,数据科学家和分析师可以深入了解数据,并根据发现做出有根据的决策。