在 plotly 中显式设置箱线图的颜色

JA-*_*sta 4 python python-3.x plotly plotly-python plotly-express

我用来plotly express绘制boxplot如下图所示:

px.box(data_frame=df, 
       y="price", 
       x="products",
       points="all")
Run Code Online (Sandbox Code Playgroud)

然而,产品的盒盆以相同的颜色显示。它们是四种产品。我想用不同的颜色为每个颜色着色,使用附加参数color_discrete_sequence不起作用。

M--*_*M-- 5

我使用plotly.express.data.tips()作为示例数据集,并创建一个名为的新列mcolour,以展示我们如何使用附加列进行着色。见下文;

## packages
import plotly.express as px
import numpy as np
import pandas as pd
Run Code Online (Sandbox Code Playgroud)
## example dataset:
df = px.data.tips()

## creating a new column with colors
df['mcolour'] = np.where(
     df['day'] == "Sun" , 
    '#636EFA', 
     np.where(
        df['day'] == 'Sat', '#EF553B', '#00CC96'
     )
)
Run Code Online (Sandbox Code Playgroud)
## plot
fig = px.box(df, x="day", y="total_bill", color="mcolour")
fig = fig.update_layout(showlegend=False)
fig.show()
Run Code Online (Sandbox Code Playgroud)

color因此,如您所见,您可以使用 中的参数根据另一列简单地分配颜色plotly.express.box()