python直方图可为不同的值添加自定义颜色

问题描述

我有一个数据框,在一个列中有4个不同的值,对于每个值我都需要设置自定义颜色。

下面是示例数据

val,cluster
118910.000000,3
71209.000000,2
25674.666667,0
109267.666667,3
8.000000,1

下面是代码

fig = px.histogram(types,x="val",color='cluster')
fig.show()

types是给定数据中的数据框名称

当我确定我得到认颜色时。相反,我需要获取

0:红色

2:蓝色

1:紫色

3:绿色

如何在python中为直方图设置自定义颜色

任何人都可以帮忙吗

解决方法

您可以使用color_discrete_map

import pandas as pd 
import random
df = pd.DataFrame([[random.random()*100,random.randint(0,3)]for i in range (100)],columns = ['val','cluster'])
fig = px.histogram(df,x="cluster",y='val',color = 'cluster',color_discrete_map = {0:'red',1:'blue',2:'purple',3:'green'}
                  )
fig

enter image description here