📜  如何在Python的boxplot 上显示文本?

📅  最后修改于: 2022-05-13 01:55:15.205000             🧑  作者: Mango

如何在Python的boxplot 上显示文本?

箱线图是一种重要的图形图,可用于获取以数字形式呈现的数据摘要。该图可以为我们提供有关统计度量的信息,例如数值数据的百分位数、中位数、最小值和最大值。在箱线图中,穿过箱体中心的线代表中值。在本文中,我们将学习如何添加箱线图并在箱线图上显示文本。

首先,要创建箱线图,我们将使用 seaborn 库,并在箱线图上显示文本,我们将使用 matplotlib.pyplot 类中可用的 text() 方法。 text() 方法使我们能够在图上写入字符串并为其添加自定义。

让我们首先绘制一个简单的箱线图并在其上添加一些文本。

Python
# import modules
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
plt.style.use('seaborn')
 
# Reading the dataset
data = pd.read_csv('Dataset.csv')
print("The shape of the dataframe is: ",data.shape)


Python
# display data
print(data.head())


Python
# depict box plot visualization
plt.figure(figsize=(10, 6))
sns.boxplot(data['Width (in cm)'])
plt.text(75, 0.07, 'Outliers beyond beyond 75% value', fontsize=14)
plt.show()


Python
# add text
plt.figure(figsize=(10, 6))
sns.boxplot(data['Height (in cm)'])
 
plt.text(3, 0.07,
         'Points beyond 25% value',
         bbox=dict(facecolor='red',
                   alpha=0.5),
         fontsize=12)
 
plt.text(95, 0.07,
         'Points beyond beyond 75% value',
         bbox=dict(facecolor='pink',
                   alpha=0.5),
         horizontalalignment='right',
         fontsize=12)
 
plt.show()


输出:



The shape of the dataframe is:  (20, 3)

打印数据集中的前五行:

Python

# display data
print(data.head())


输出:

Python



# depict box plot visualization
plt.figure(figsize=(10, 6))
sns.boxplot(data['Width (in cm)'])
plt.text(75, 0.07, 'Outliers beyond beyond 75% value', fontsize=14)
plt.show()


输出:

我们可以从上面编写的代码中观察到, plt.text()方法用于显示我们想要的所需文本。它需要三个强制性的位置参数:



为了使我们的箱线图看起来更吸引人,我们可以传递许多其他可选参数来格式化下一个图中已讨论的文本。

Python

# add text
plt.figure(figsize=(10, 6))
sns.boxplot(data['Height (in cm)'])
 
plt.text(3, 0.07,
         'Points beyond 25% value',
         bbox=dict(facecolor='red',
                   alpha=0.5),
         fontsize=12)
 
plt.text(95, 0.07,
         'Points beyond beyond 75% value',
         bbox=dict(facecolor='pink',
                   alpha=0.5),
         horizontalalignment='right',
         fontsize=12)
 
plt.show()

输出:

从图中可以看出,我们在文本周围添加了一个漂亮的边界框,并在文本上添加了颜色,这可以通过在 plt.text() 方法中传递可选参数来完成,例如:

  • bbox:用于在文本周围创建一个边界框,它本身接受一个字典来为框添加颜色并设置颜色的不透明度。
  • fontsize:用于设置我们字体的大小。
  • 水平对齐或 ha:设置文本的水平对齐方式。
  • verticalalignment 或 va:设置文本的垂直对齐方式。

从该方法的官方文档中可以看出还有很多其他的。