📜  在Python中使用 Altair 绘制带有回归线的散点图(1)

📅  最后修改于: 2023-12-03 14:51:19.197000             🧑  作者: Mango

在Python中使用 Altair 绘制带有回归线的散点图

Altair 是一个 Python 可视化库,它基于 Vega-Lite,为用户提供了一种简单易用的方式来创建高质量的交互式数据可视化。

本文将介绍如何使用 Altair 在 Python 中绘制带有回归线的散点图。

准备数据

首先,我们需要准备我们的数据。我们将使用 seaborn 库提供的数据集进行演示。执行以下代码将 seaborn 库中的 tips 数据集导入到 Pandas DataFrame 中:

import seaborn as sns

tips = sns.load_dataset('tips')

此数据集包含有关餐厅小费的信息,包括小费金额、就餐人数、性别、是否吸烟等。

绘制散点图

接下来,我们将使用 Altair 绘制散点图。在该图中,我们将绘制小费金额与账单总额之间的关系。我们将使用 X 轴来表示账单总额,Y轴来表示小费金额。

import altair as alt

scatter_chart = (
    alt.Chart(tips)
    .mark_point()
    .encode(
        x='total_bill',
        y='tip'
    )
)

scatter_chart

该代码块使用 Altair 创建了一个散点图,并指定了账单总额用于 X 轴,小费金额用于 Y 轴。运行代码,我们将能够看到散点图。

绘制回归线

接下来,我们将在散点图中添加一条回归线。Altair 提供了一个函数 transform_regression,可用于向图表中添加回归线。此函数可以计算一个回归模型,并生成一个回归线。我们将使用此函数来为散点图添加回归线。

regression_line = (
    scatter_chart
    .transform_regression('total_bill', 'tip')
    .mark_line(color='red')
)

scatter_chart + regression_line

在上面的代码中,我们将 transform_regression 应用于散点图,并传递了账单总额和小费金额作为输入变量。我们还使用 mark_line 指定回归线的样式。最后,我们通过 + 运算符将回归线添加到散点图中。

运行代码后,我们将在散点图中看到红色的回归线。

自定义回归线

我们还可以自定义回归线的样式。例如,我们可以更改线宽度、颜色和样式。以下代码将线宽度设置为 2,线型设置为虚线,颜色设置为蓝色:

regression_line = (
    scatter_chart
    .transform_regression('total_bill', 'tip')
    .mark_line(color='blue', strokeDash=[3,3], strokeWidth=2)
)

scatter_chart + regression_line

通过更改 mark_line 的参数,我们可以自定义回归线的样式。

至此,我们已经成功使用 Altair 在 Python 中绘制了带有回归线的散点图。除此之外,Altair 还有很多可自定义的选项,例如添加工具提示、更改图例的位置等。使用 Altair 可以轻松创建漂亮的数据可视化。