Plotly colours list

Hi! Iโ€™m working with Python 3 in Jupyter Notebook from the Anaconda distribution. I have a pie chart and I wold like to set the colours of my plot putting them into a list:

colors = [โ€™#FEBFB3โ€™, โ€˜#E1396Cโ€™, โ€˜#96D38Cโ€™, โ€˜#D0F9B1โ€™]

Where can I find a list of the coloursโ€™ codes?

Thank you!

2 Likes

Hi @silviamorins

You can find plotlyโ€™s default colors here https://github.com/plotly/plotly.py/blob/master/plotly/colors.py#L83-L87

2 Likes

Hi @silviamorins,

These are Plotly default colors:

[
    '#1f77b4',  # muted blue
    '#ff7f0e',  # safety orange
    '#2ca02c',  # cooked asparagus green
    '#d62728',  # brick red
    '#9467bd',  # muted purple
    '#8c564b',  # chestnut brown
    '#e377c2',  # raspberry yogurt pink
    '#7f7f7f',  # middle gray
    '#bcbd22',  # curry yellow-green
    '#17becf'   # blue-teal
]

or with their rgb code:

DEFAULT_PLOTLY_COLORS=['rgb(31, 119, 180)', 'rgb(255, 127, 14)',
                       'rgb(44, 160, 44)', 'rgb(214, 39, 40)',
                       'rgb(148, 103, 189)', 'rgb(140, 86, 75)',
                       'rgb(227, 119, 194)', 'rgb(127, 127, 127)',
                       'rgb(188, 189, 34)', 'rgb(23, 190, 207)']

Named css colors:

CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, saddlebrown, salmon, sandybrown,
                seagreen, seashell, sienna, silver, skyblue,
                slateblue, slategray, slategrey, snow, springgreen,
                steelblue, tan, teal, thistle, tomato, turquoise,
                violet, wheat, white, whitesmoke, yellow,
                yellowgreen

Example:

import plotly.graph_objs as go

labels = ['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen']
values = [2500, 1053,  3125, 930] 
colors = ['aliceblue',  'aqua', 'aquamarine', 'darkturquoise']

trace = go.Pie(labels=labels, values=values,
               hoverinfo='label+percent', textinfo='value', 
               textfont=dict(size=20),
               marker=dict(colors=colors, 
                           line=dict(color='rgb(100,100,100)', 
                                     width=1)
                          )
              )

fw=go.FigureWidget(data=[trace])
fw

6 Likes

Thank you, this is exactly what I was looking for! However, is there a way in which I can assign the colours to the elements of the list โ€œlabelsโ€? Iโ€™m plotting two times the same elements to different values, and plotly sorts the colours how he wants.

Thanks for the list of available colours above.

I made a simple table based on the list to quickly see what the colours look like:

def show_named_plotly_colours():
    """
    function to display to user the colours to match plotly's named
    css colours.

    Reference:
        #https://community.plotly.com/t/plotly-colours-list/11730/3

    Returns:
        plotly dataframe with cell colour to match named colour name

    """
    s='''
        aliceblue, antiquewhite, aqua, aquamarine, azure,
        beige, bisque, black, blanchedalmond, blue,
        blueviolet, brown, burlywood, cadetblue,
        chartreuse, chocolate, coral, cornflowerblue,
        cornsilk, crimson, cyan, darkblue, darkcyan,
        darkgoldenrod, darkgray, darkgrey, darkgreen,
        darkkhaki, darkmagenta, darkolivegreen, darkorange,
        darkorchid, darkred, darksalmon, darkseagreen,
        darkslateblue, darkslategray, darkslategrey,
        darkturquoise, darkviolet, deeppink, deepskyblue,
        dimgray, dimgrey, dodgerblue, firebrick,
        floralwhite, forestgreen, fuchsia, gainsboro,
        ghostwhite, gold, goldenrod, gray, grey, green,
        greenyellow, honeydew, hotpink, indianred, indigo,
        ivory, khaki, lavender, lavenderblush, lawngreen,
        lemonchiffon, lightblue, lightcoral, lightcyan,
        lightgoldenrodyellow, lightgray, lightgrey,
        lightgreen, lightpink, lightsalmon, lightseagreen,
        lightskyblue, lightslategray, lightslategrey,
        lightsteelblue, lightyellow, lime, limegreen,
        linen, magenta, maroon, mediumaquamarine,
        mediumblue, mediumorchid, mediumpurple,
        mediumseagreen, mediumslateblue, mediumspringgreen,
        mediumturquoise, mediumvioletred, midnightblue,
        mintcream, mistyrose, moccasin, navajowhite, navy,
        oldlace, olive, olivedrab, orange, orangered,
        orchid, palegoldenrod, palegreen, paleturquoise,
        palevioletred, papayawhip, peachpuff, peru, pink,
        plum, powderblue, purple, red, rosybrown,
        royalblue, saddlebrown, salmon, sandybrown,
        seagreen, seashell, sienna, silver, skyblue,
        slateblue, slategray, slategrey, snow, springgreen,
        steelblue, tan, teal, thistle, tomato, turquoise,
        violet, wheat, white, whitesmoke, yellow,
        yellowgreen
        '''
    li=s.split(',')
    li=[l.replace('\n','') for l in li]
    li=[l.replace(' ','') for l in li]

    import pandas as pd
    import plotly.graph_objects as go

    df=pd.DataFrame.from_dict({'colour': li})
    fig = go.Figure(data=[go.Table(
      header=dict(
        values=["Plotly Named CSS colours"],
        line_color='black', fill_color='white',
        align='center', font=dict(color='black', size=14)
      ),
      cells=dict(
        values=[df.colour],
        line_color=[df.colour], fill_color=[df.colour],
        align='center', font=dict(color='black', size=11)
      ))
    ])

    fig.show()

2 Likes

The built-in color scales are shown here: https://plotly.com/python/builtin-colorscales/

More information is also available regarding continuous color here https://plotly.com/python/colorscales/ and discrete color here https://plotly.com/python/discrete-color/ :slight_smile:

The list of named colors is the list of CSS named colors, for which a reference can be found here: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value

Thanks for the info, but I have yet another question.
How would I convert to rgb a color like โ€œgreenโ€ programmatically?

I understand I can go get the above mentioned link and extract it from there but is there any functionality in plotly to do so?

For example this px.colors.convert_colors_to_same_type(['red', 'blue', (0, 0.5, 1)], )
returns: ([โ€˜redโ€™, โ€˜blueโ€™, โ€˜rgb(0, 128, 255)โ€™], None)
Which I donโ€™t think is the intended output

I"m looking for something like px.colors.to_rgb(โ€œreedโ€) โ†’ โ€˜rgb(255, 0, 0)โ€™

Thanks for reading

1 Like

Hi
Obviously you found the answer but I thought maybe below also be useful:

import plotly as plt
for i in plt.colors.DEFAULT_PLOTLY_COLORS:
    print(i)
3 Likes

updating with new path to plotly colors - packages/python/plotly/templategen/utils/colors.py

Link to the list of colors:
https://github.com/plotly/plotly.py/blob/master/packages/python/plotly/templategen/utils/colors.py
(old link was broken)

1 Like