Seaborn数据可视化实战:Seaborn基础图表绘制入门

基础图表绘制:Seaborn入门教程

学习目标

通过本课程的学习,你将掌握如何使用Seaborn库绘制基础图表,包括条形图、折线图和散点图。你将了解Seaborn的基本函数和参数设置,以及如何通过调整这些参数来优化图表的视觉效果。

相关知识点

  • Seaborn入门教程

学习内容

1 Seaborn入门教程

1.1 Seaborn库的安装与导入

Seaborn是一个基于Matplotlib的Python数据可视化库,它提供了更高级的接口,用于绘制更具吸引力和信息量的统计图形。Seaborn简化了数据可视化的过程,使得即使是对数据科学新手来说,也能轻松创建复杂的图表。

安装Seaborn

在开始之前,确保你的Python环境中已经安装了Seaborn。如果尚未安装,可以通过pip命令轻松安装:

bash 复制代码
%pip install seaborn
导入Seaborn

安装完成后,我们可以通过以下代码导入Seaborn库:

python 复制代码
import seaborn as sns
import matplotlib.pyplot as plt

这里同时导入了Matplotlib,因为Seaborn是基于Matplotlib构建的,有时候我们需要使用Matplotlib的功能来进一步定制图表。

1.2 绘制条形图

条形图是用于比较不同类别数据的常用图表类型。Seaborn提供了barplot函数来绘制条形图,该函数可以接受多种参数来定制图表的外观。

基本条形图

首先,我们来看一个基本的条形图示例。假设我们有一个数据集,记录了不同城市的平均温度:

python 复制代码
import pandas as pd

# 创建数据集
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'],
        'Average Temperature': [12, 18, 10, 20, 22]}
df = pd.DataFrame(data)

# 绘制条形图
sns.barplot(x='City', y='Average Temperature', data=df)
plt.title('Average Temperature by City')
plt.xlabel('City')
plt.ylabel('Average Temperature (°C)')
plt.show()

这段代码首先创建了一个包含城市名称和平均温度的数据框,然后使用barplot函数绘制了条形图。x参数指定了x轴上的数据,y参数指定了y轴上的数据,data参数指定了数据源。

定制条形图

Seaborn的barplot函数提供了多种参数来定制图表。例如,我们可以使用hue参数来添加分类变量,使用palette参数来设置颜色方案:

python 复制代码
# 添加分类变量
df['Season'] = ['Winter', 'Summer', 'Winter', 'Summer', 'Summer']

# 绘制带有分类变量的条形图
sns.barplot(x='City', y='Average Temperature', hue='Season', data=df, palette='Set2')
plt.title('Average Temperature by City and Season')
plt.xlabel('City')
plt.ylabel('Average Temperature (°C)')
plt.show()

在这个例子中,我们添加了一个新的分类变量Season,并使用hue参数将其添加到图表中。palette参数用于设置颜色方案,Set2是一个预定义的颜色方案。

1.3 绘制折线图和散点图

折线图和散点图是用于展示数据趋势和关系的常用图表类型。Seaborn提供了lineplotscatterplot函数来绘制这两种图表。

折线图

折线图用于展示数据随时间或其他连续变量的变化趋势。假设我们有一个数据集,记录了某公司过去几年的销售额:

python 复制代码
# 创建数据集
data = {'Year': [2015, 2016, 2017, 2018, 2019, 2020],
        'Sales': [100, 150, 200, 250, 300, 350]}
df = pd.DataFrame(data)

# 绘制折线图
sns.lineplot(x='Year', y='Sales', data=df, marker='o')
plt.title('Sales Over the Years')
plt.xlabel('Year')
plt.ylabel('Sales (in thousands)')
plt.show()

这段代码创建了一个包含年份和销售额的数据框,然后使用lineplot函数绘制了折线图。marker参数用于在数据点上添加标记。

散点图

散点图用于展示两个变量之间的关系。假设我们有一个数据集,记录了学生的身高和体重:

python 复制代码
# 创建数据集
data = {'Height': [160, 165, 170, 175, 180, 185],
        'Weight': [50, 55, 60, 65, 70, 75]}
df = pd.DataFrame(data)

# 绘制散点图
sns.scatterplot(x='Height', y='Weight', data=df)
plt.title('Height vs Weight')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()

这段代码创建了一个包含身高和体重的数据框,然后使用scatterplot函数绘制了散点图。

定制折线图和散点图

Seaborn的lineplotscatterplot函数也提供了多种参数来定制图表。例如,我们可以使用hue参数来添加分类变量,使用style参数来设置不同类别的标记样式:

python 复制代码
# 添加分类变量
data['Gender'] = ['Male', 'Female', 'Male', 'Female', 'Male', 'Female']
df = pd.DataFrame(data)

# 绘制带有分类变量的散点图
sns.scatterplot(x='Height', y='Weight', hue='Gender', style='Gender', data=df, palette='Set1')
plt.title('Height vs Weight by Gender')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()

在这个例子中,我们添加了一个新的分类变量Gender,并使用huestyle参数将其添加到图表中。palette参数用于设置颜色方案,Set1是一个预定义的颜色方案。