简体   繁体   中英

Change color of each bar in a grouped bar chart plotly to custom colors

I am trying to use custom hexa codes for each bar in a plotly chart but I am not able to work this out.

Could someone please help me.

Below is the code I a working with

#Defining Custom Colors
colours = {'Base_Models': '#0C3B5D',
          'Standard_scaled_scores': '#3EC1CD',
          'Min_Max_scaled_scores': '#EF3A4C',
          'Scaling & feature selection_scores': '#FCB94D'}


import plotly.express as px

fig = px.bar(compareModels_aft_Cleansing, x="Base_Models", y=["Base_Models_Scores",
                                                     "Standard_scaled_scores", "Min_Max_scaled_scores",
                                                     "Scaling & feature selection_scores"],
              title="Training Scores", barmode='group', text = 'value',
            hover_name="Base_Models",
            hover_data={'Base_Models':False},     # remove species from hover data                    
                            color = colours)
  • you have not provided sample data so I have synthesized
  • your colours map as I understand your dataframe is incorrect. You are plotting Base_Models_Scores as a bar not Base_Models , this is the x-axis
  • the parameter you require is color_discrete_map to achieve your requirement
import pandas as pd
import numpy as np

# Defining Custom Colors
colours = {
    "Base_Models_Scores": "#0C3B5D",
    "Standard_scaled_scores": "#3EC1CD",
    "Min_Max_scaled_scores": "#EF3A4C",
    "Scaling & feature selection_scores": "#FCB94D",
}

# generate sample data...
compareModels_aft_Cleansing = pd.DataFrame(
    {
        **{"Base_Models": colours.keys()},
        **{
            c: np.random.randint(1, 4, len(colours.keys()))
            for c in colours.keys()
        },
    }
)


import plotly.express as px

fig = px.bar(
    compareModels_aft_Cleansing,
    x="Base_Models",
    y=[
        "Base_Models_Scores",
        "Standard_scaled_scores",
        "Min_Max_scaled_scores",
        "Scaling & feature selection_scores",
    ],
    title="Training Scores",
    barmode="group",
    text="value",
    hover_name="Base_Models",
    hover_data={"Base_Models": False},  # remove species from hover data
    color_discrete_map=colours,
)

fig

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM