📜  如何在 Plotly 中创建分组箱线图?(1)

📅  最后修改于: 2023-12-03 15:24:19.077000             🧑  作者: Mango

如何在 Plotly 中创建分组箱线图

Plotly 是一个功能强大的 Python 可视化库,可以创建各种各样的数据可视化图表。其中,分组箱线图是一种常用的数据可视化图表,可以直观地展示不同组别的数据的分布情况,让我们来学习一下如何在 Plotly 中创建分组箱线图。

准备数据

首先,我们需要准备好数据,数据应该以 Pandas 的 DataFrame 形式存在。我们以一个示例数据为例,示例数据包含三个组别,每个组别包含 50 个数据,代码如下:

import pandas as pd
import numpy as np

# 创建示例数据
np.random.seed(10)
data = {'group_A': np.random.normal(50, 10, 50),
        'group_B': np.random.normal(70, 5, 50),
        'group_C': np.random.normal(60, 8, 50)}
df = pd.DataFrame(data)
创建分组箱线图

有了数据之后,我们可以使用 Plotly 来创建分组箱线图。代码如下:

import plotly.express as px

# 创建分组箱线图
fig = px.box(df, y=['group_A', 'group_B', 'group_C'], boxmode='group')

# 显示图表
fig.show()

这里 px.box() 函数用于创建箱线图,y 参数指定了要绘制的数据列,boxmode 参数指定了要绘制的箱线图的模式,这里设为 group 表示分组绘制。

可定制化方法

我们还可以对分组箱线图进行一些可定制化的操作,下面的代码将对分组箱线图进行一些可定制化操作,比如改变坐标轴标签、修改箱线的颜色、修改离群点的样式等。

# 创建分组箱线图
fig = px.box(df,
             y=['group_A', 'group_B', 'group_C'],
             boxmode='group',
             color_discrete_sequence=['red', 'blue', 'green'],
             title='分组箱线图',
             labels={'variable': '组别', 'value': '观测值'},
             hover_data={'variable': False}
            )

# 修改箱线的颜色
fig.update_traces(marker={'color': '#2ecc71', 'outliercolor': '#e74c3c'})

# 修改离群点的样式
fig.update_traces(marker_symbol='diamond', marker_size=10)

# 修改图例
fig.update_layout(legend={'title': ' ', 'orientation': 'h', 'yanchor': 'top', 'xanchor': 'left'})

# 显示图表
fig.show()

这里 color_discrete_sequence 参数用于修改每个组别的箱线的颜色,title 参数用于修改图表标题,labels 参数用于修改坐标轴标签,hover_data 参数用于设定鼠标悬停时显示的信息。update_traces() 方法用于修改箱线的颜色和离群点的样式,update_layout() 方法用于修改图例的样式。

至此,我们就学会了如何在 Plotly 中创建分组箱线图,并且掌握了一些分组箱线图的可定制化方法,希望对你有所帮助!