如何使用 Pandas 和 Seaborn 生成散点图?
简介
散点图是数据的图形表示,它将两个变量的值显示为单个图上的点。在 Python 中,可以使用 pandas 和 seaborn 库轻松创建散点图。
要使用 pandas 和 seaborn 在 Python 中生成散点图,您必须遵循以下步骤 -
安装 pandas 和 seaborn 库:要使用 pandas 和 seaborn 创建散点图,您需要先安装这些库。您可以使用以下命令安装它们
pip install pandas pip install seaborn
导入所需的库:要使用 pandas 和 seaborn,您需要在代码中导入它们。您可以使用以下代码执行此操作 -
import pandas as pd import seaborn as sns
准备数据:要创建散点图,您需要有要绘制的数据。数据应采用 pandas 数据框的形式,每行代表一个数据点,每列代表一个变量。例如,以下数据表示三个数据点的两个变量的值
data = {'x': [1, 2, 3], 'y': [4, 5, 6]} df = pd.DataFrame(data)
创建散点图:要创建散点图,您可以使用 seaborn 中的散点图函数并将数据框作为参数传入。您还可以使用 x 和 y 参数指定要用作 x 轴和 y 轴的变量。例如 −
sns.scatterplot(x='x', y='y', data=df)
显示图表:要显示散点图,您可以使用 matplotlib 中的 show 函数。这将打开一个带有散点图的新窗口。例如 −
plt.show()
以下是使用 Pandas 和 Seaborn 生成散点图的示例

data.csv

tips.csv
import seaborn import pandas import matplotlib.pyplot as plt csv = pandas.read_csv(r'C:\Book1.csv') res = seaborn.scatterplot(x="Name", y="Age", data=csv) plt.show()
输出

在此示例中,我们首先使用"import"语句导入 Pandas 和 Seaborn 库。然后,我们使用 Pandas"read_csv"函数将数据从 CSV 文件加载到 Pandas DataFrame 中。最后,我们使用 Seaborn"scatterplot"函数生成散点图,分别指定"variable1"和"variable2"列作为 x 轴和 y 轴。
使用 Seaborn 生成散点图时有许多可用的自定义选项。例如,您可以更改点的颜色和大小、添加回归线或使用不同的标记样式。以下是如何使用"scatterplot"函数自定义散点图的示例
sns.scatterplot(x="variable1", y="variable2", data=df, color="red", size="variable3", style="variable4")
在此示例中,我们指定了"color"、"size"和"style"参数来自定义散点图上点的外观。 "color"参数允许您指定点的颜色,"size"参数允许您根据第三个变量指定点的大小,"style"参数允许您根据第四个变量为点指定不同的标记样式
示例 1 seaborn.lineplot()
import seaborn import pandas import matplotlib.pyplot as plt csv = pandas.read_csv(r'C:\Book1.csv') res = seaborn.lineplot(x="Name", y="Age", data=csv) plt.show()
输出

在此示例中,我们有使用 Seaborn 的"scatterplot"函数生成散点图,使用"regplot"函数添加回归线。我们还指定了几个自定义选项,例如点的颜色和大小、标记样式、调色板以及图例的存在。
示例 2 seaborn.catplot()
在此示例中,我们使用"scatterplot"函数生成散点图,并将返回的 Axes 对象存储在名为"ax"的变量中。然后,我们可以使用 Axes 对象的"set_xlabel"、"set_ylabel"和"set_title"方法来自定义图的轴标签和标题。
import seaborn import pandas import matplotlib.pyplot as plt csv = seaborn.load_dataset("tips") res = seaborn.catplot(x="tip", y="sex", data=csv) plt.show()
输出

示例 3 seaborn.stripplot()
在此示例中,我们使用"scatterplot"函数生成散点图,并将返回的 Axes 对象存储在名为"scatter"的变量中。然后,我们可以使用 Axes 对象的"set_tooltips"方法向图中添加自定义工具提示。工具提示是使用带有变量占位符的字符串指定的,当用户将鼠标悬停在图上的某个点上时,这些占位符将填充实际值。最后,我们使用 Matplotlib"pyplot"模块中的"show"函数来显示图表。
import seaborn import pandas import matplotlib.pyplot as plt csv = seaborn.load_dataset("tips") res = seaborn.stripplot(x="tip", y="sex", data=csv,jitter=0.05) plt.show()
输出

示例 4 seaborn.swarmplot()
在此示例中,我们使用"scatterplot"函数生成散点图并存储返回的轴对象保存在名为"scatter"的变量中。然后,我们可以使用 Axes 对象的"set"方法,使用"yscale"参数将 y 轴设置为对数刻度。最后,我们使用 Matplotlib"pyplot"模块中的"show"函数来显示图表
import seaborn import pandas import matplotlib.pyplot as plt csv = seaborn.load_dataset("tips") res = seaborn.swarmplot(x="tip", y="sex", data=csv) plt.show()
输出

结论
总之,Pandas 和 Seaborn 是使用 Python 生成散点图的强大工具。通过使用 Seaborn 的"scatterplot"函数和 Pandas 的"read_csv"函数,您只需几行代码即可轻松创建散点图。有许多可用的自定义选项,例如更改点的颜色和大小、添加回归线或自定义轴标签和标题。您还可以使用"scatterplot"函数返回的 Axes 对象添加自定义工具提示或将 y 轴设置为对数刻度。通过了解如何有效使用这些工具,您可以创建清晰且信息丰富的散点图,以帮助您可视化和分析数据