📜  如何通过 Matplotlib 中的变量为散点图着色?(1)

📅  最后修改于: 2023-12-03 15:24:56.518000             🧑  作者: Mango

如何通过 Matplotlib 中的变量为散点图着色?

在数据科学中,我们通常需要将数据可视化以更好地理解它们。散点图是一种常用的可视化方法,可以用于表示两个数值变量之间的关系。在 Matplotlib 中,我们可以使用不同的颜色为散点图中的每个点编码一个分类变量。这种类型的可视化被称为分类散点图。

步骤

以下是如何通过 Matplotlib 中的变量为散点图着色的基本步骤:

1.导入必要的库

import pandas as pd
import matplotlib.pyplot as plt

2.获取数据

这里我们使用 Pandas 从 CSV 文件中读取数据。我们将使用 penguins 数据集,这是一个分类数据集,包含各种企鹅属性的测量数据。

penguins = pd.read_csv('penguins.csv')

3.创建散点图

我们将使用 Matplotlib 的 scatter() 函数创建散点图。我们将用 body_mass_g 作为横坐标,bill_length_mm 用作纵坐标。

plt.scatter(penguins['body_mass_g'], penguins['bill_length_mm'])

4.为散点图着色

为了为散点图着色,我们需要一个用于分类的变量。我们将使用 species 变量,其中包含每个企鹅属于哪个物种(Adelie,Chinstrap 或 Gentoo)。

我们可以使用 unique() 方法获取 species 变量中的所有唯一值。然后,我们可以为每个唯一值定义一个颜色,并使用 numpy.where() 函数创建一个包含相应颜色的数组。

import numpy as np

# 获取唯一的物种名称
species = penguins['species'].unique()

# 为每个物种定义颜色
colors = ['red', 'green', 'blue']

# 为每个点着色
color_array = np.where(penguins['species'] == species[0], colors[0],
                       np.where(penguins['species'] == species[1], colors[1],
                                colors[2]))
plt.scatter(penguins['body_mass_g'], penguins['bill_length_mm'], c=color_array)

5.添加图例

最后,我们将添加一个图例,以便可以看到每种颜色的企鹅属于哪个物种。

# 添加图例
plt.legend([f'{s.capitalize()}' for s in species])
完整代码

下面是完整的代码实现:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 导入数据集
penguins = pd.read_csv('penguins.csv')

# 创建散点图
plt.scatter(penguins['body_mass_g'], penguins['bill_length_mm'])

# 获取唯一的物种名称
species = penguins['species'].unique()

# 为每个物种定义颜色
colors = ['red', 'green', 'blue']

# 为每个点着色
color_array = np.where(penguins['species'] == species[0], colors[0],
                       np.where(penguins['species'] == species[1], colors[1],
                                colors[2]))
plt.scatter(penguins['body_mass_g'], penguins['bill_length_mm'], c=color_array)

# 添加图例
plt.legend([f'{s.capitalize()}' for s in species])

此代码将创建一个散点图,其中每个点用其 body_mass_gbill_length_mm 值表示,并使用 species 变量中的唯一值为每个点着色。图例将标识每个颜色与哪个物种相对应。

总结

通过使用 Matplotlib 中的变量为散点图着色,我们可以更好地理解数据集,并更有效地通信结果。使用上述步骤,您可以轻松地为企鹅数据集中的散点图着色。