您的位置:

Python绘制箱线图

引言

在数据分析和可视化过程中,箱线图是一种非常重要的图形,它可以帮助我们更好的了解数据分布情况、异常值的存在以及数据的极值、中位数等统计信息。

Python作为一种流行的编程语言,有多种绘制箱线图的工具包。在这篇文章中,我们将介绍一些基于Python的箱线图绘制方法,并且演示如何使用各自的工具包通过代码来实现箱线图的绘制,希望对读者在数据可视化方面有所帮助。

正文

Matplotlib绘制箱线图

Matplotlib是Python中最受欢迎的数据可视化库之一,也是最基本的绘图工具之一。它可以绘制多种类型的图形,包括条形图、曲线图、散点图等等。Matplotlib是Python中最有用和最灵活的数据可视化工具之一,它可以轻松创建高质量的图形,同时也非常适合初学者。

下面是Matplotlib生成一个简单的箱线图的代码:

    import matplotlib.pyplot as plt
    import numpy as np

    np.random.seed(10)
    data = np.random.normal(100, 20, 200)
    fig, ax = plt.subplots()
    ax.boxplot(data, vert=False)
    plt.show()

代码中我们首先通过numpy生成了一个包含200个随机数的一维数组,然后将这个数组作为参数传递给plt.boxplot()函数,生成一个箱线图。

如下所示,生成的箱线图显示了所有数据点的分布情况,以及四分位数、中位数和异常值。

Python绘制箱线图

Seaborn绘制箱线图

Seaborn是在Matplotlib基础上建立的一个数据可视化库,它旨在简化多个图形之间的比较和创建。Seaborn具有比Matplotlib更好的默认参数设置来制作漂亮的图形。它可以通过一些简单的命令,使数据集中的模式变得更加明显,这将帮助我们更好地理解数据集和模式。

下面是使用Seaborn绘制一个箱线图的示例代码:

    import seaborn as sns
    import numpy as np

    np.random.seed(10)
    data = np.random.normal(100, 20, 200)
    ax = sns.boxplot(data=data)
    plt.show()

代码中我们同样使用Numpy生成一个包含200个随机数的一维数组,然后作为参数传递给sns.boxplot()函数,生成一个箱线图。

如下所示,生成的箱线图显示了所有数据点的分布情况,以及四分位数、中位数和异常值。

Python绘制箱线图

Plotly绘制箱线图

Plotly是一种高度交互性的数据可视化库,它可以生成多种类型的图形,包括散点图、直方图、饼图、线图等等。Plotly还支持Python、R、JavaScript等多种编程语言。

下面是使用Plotly绘制箱线图的示例代码:

    import plotly.express as px
    import numpy as np

    np.random.seed(10)
    data = np.random.normal(100, 20, 200)
    fig = px.box(data, y=data)
    fig.show()

与前面两个例子不同的是,在这个示例中我们需要使用plotly.express库中的px.box()函数来生成一个箱线图。我们同样使用Numpy生成一个包含200个随机数的一维数组,然后作为参数传递给函数px.box()。

如下所示,生成的箱线图显示了所有数据点的分布情况,以及四分位数、中位数和异常值。

Python绘制箱线图

多图绘制

有些情况下,我们需要在同一个页面上同时展示多个箱线图。下面是一个将Matplotlib、Seaborn和Plotly生成的三个箱线图放在同一个页面上的示例代码:

    import matplotlib.pyplot as plt
    import seaborn as sns
    import plotly.express as px
    import numpy as np

    np.random.seed(10)
    data = np.random.normal(100, 20, 200)

    fig, ax = plt.subplots()
    ax.boxplot(data, vert=False)

    ax = sns.boxplot(data=data)

    fig = px.box(data, y=data)
    fig.show()

如下所示,代码中我们先生成一个包含200个随机数的Numpy一维数组,然后使用Matplotlib、Seaborn和Plotly分别绘制了三个箱线图,并将它们放在同一个页面上。

Python绘制箱线图

结语

在本文中,我们介绍了基于Matplotlib、Seaborn和Plotly三种Python库的箱线图绘制方法。可以根据需要选择适合自己的工具包,开始绘制相应的箱线图。这些库均提供了丰富的绘图功能,并且对数据的可视化非常友好。