如何在Python中显示Boxplot上的文本?

如何在Python中显示Boxplot上的文本?

Boxplot,也称为箱形图,是显示数据集的中位数、四分位数和异常值的图形表示。箱体表示数据的四分位距(IQR),它是数据的第25至75个百分位数之间的范围。中位数显示为箱体内的一条线。须表示数据的范围,但不包括异常值。异常值是指超出须范围的数据点,通常单独用点或星号显示。箱形图对于总结数据集的分布以及确定任何离群值或偏斜很有用。它们通常用于统计学、数据分析和机器学习领域。

Matplotlib是一个强大的Python绘图库,允许用户在Python中创建各种静态、交互式和动画可视化。它提供对图表或图形的单个元素的低级控制,并且高度可定制。 Seaborn库建立在Matplotlib之上,具有更多添加功能。它提供了一个更简洁和用户友好的API,用于在Python中创建统计可视化,侧重于探索变量之间的关系和显示数据分布。

借助Seaborn的各种预制主题和颜色系列,很容易生成具有精美外观的图表。两个库都提供了创建箱形图的函数,这对于可视化数据分布以及在数据中识别离群值和偏斜非常有用。

语法

要在Python的Boxplot上显示文本,必须按照以下语法操作−

matplotlib.pyplot.text(x, y, text) 
Bash

matplotlib.pyplot.text(x,y,text) 是Matplotlib Python库中的一个函数,它在指定的x和y坐标处向图表添加文本。

该函数需要三个参数:文本放置的x和y坐标以及文本,即显示在图表上的实际文本。默认情况下,文本是左对齐的,并针对指定的坐标在垂直方向上居中。

示例

该代码导入了必要的库,例如pandas,matplotlib,seaborn和numpy。它将图表的样式设置为“seaborn”。然后,使用随机数值创建了一个DataFrame,其形状为(25,4),并分配列名称为’A’,’B’,’C’和’D’。

然后,使用matplotlib创建了一个大小为(10,5)的图。针对DataFrame的’B’列生成了一个箱形图,并选择水平显示选项。

使用matplotlib.pyplot.text()函数向图表添加了一个文本框,文本为“Boxplot”,字体大小为18,加粗字体。该函数可以采用许多可选参数,例如color,alpha,backgroundcolor,bbox,clip_box,clip_on,clip_path,fontfamily,fontname,fontproperties,fontstyle,fontvariant,fontweight,horizontalalignment,label,linespacing,multialignment,name,path_effects,picker,position,rotation,rotation_mode,size,sketch_params,snap,text,transform,url,usetex,verticalalignment,visible,wrap,x,y,zorder等。

bbox参数定义了围绕文本的框的属性,包括浅绿色facecolor,10个填充和0.5的alpha。最后,使用plt.show()显示了图表。

importpandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
plt.style.use('seaborn')

df = pd.DataFrame(np.random.rand(25, 4), columns=['A', 'B', 'C', 'D'])
plt.figure(figsize=(10, 5))
plt.boxplot(df['B'], vert=False)

plt.text(0.3, 0.7, 'Boxplot', fontsize=18, fontweight='bold', bbox={'facecolor': 'lightgreen', 'pad': 10, 'alpha': 0.5})
plt.show()
Bash

输出

如何在Python中显示Boxplot上的文本?

示例

在这段代码中,我们引入了pandas、numpy、matplotlib.pyplot和seaborn。我们将绘图样式设置为“seaborn”。使用numpy创建了一个DataFrame,有25行和4列,分别标记为A、B、C和D。

接下来,我们使用plt.figure()创建了一个大小为10×5的图像。通过调用plt.boxplot(df[‘A’], vert=False)创建了一个数据列为’A’的DataFrame的箱形图。这创建了一个水平的’A’列箱形图,并将“vert”参数设置为False。

添加文本到图中使用plt.text(),我们使用x和y参数指定文本的位置,指定要显示的文本、字体大小、字体粗细、文本颜色、透明度级别和背景颜色。我们将文本设置为在位置(0.7, 1.4)显示文本“Boxplot”,字体大小为18,字体重量设为粗体,文本颜色为红色,透明度级别设为0.5,背景颜色为黄色。

最后,我们使用plt.show()显示绘图。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
plt.style.use('seaborn')

df = pd.DataFrame(np.random.rand(25, 4), columns=['A', 'B', 'C', 'D'])

plt.figure(figsize=(10, 5))
plt.boxplot(df['A'], vert=False)
plt.text(0.7, 1.4, 'Boxplot', fontsize=18, fontweight='bold', color='red', alpha=0.5, backgroundcolor='yellow')
plt.show()
Bash

输出

如何在Python中显示Boxplot上的文本?

结论

我们学会了如何在Python中在箱形图上显示文本。在箱形图上显示文本可以为提供有关所显示分布的附加信息提供优势。文本可以用于标记绘图、突出显示诸如异常值之类的关键特征,或提供有助于解释的上下文信息。此外,标注离群值或极端值可以帮助引起对这些点的注意,并潜在提供数据见解。总的来说,在箱形图上显示文本可以提高可视化的清晰度和有效性,以促进数据的交流和解释。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册