Plotly: Change transparency of fillcolor

Question:

I’m trying to change the default color of a fillcolor in Plotly to another transparent one, but when I change the fillcolor it is not transparent anymore.

trace = (go.Scatter(x=[30,45],y=[3000,3000],
                fill='tozeroy', 
#                     fillcolor='green',
#                     fillcolor='rgb(26,150,65,0.5)',
#                     fillcolor=dict(color='rgb(26,150,65,0.5)'),
#              fillcolor=dict(marker=dict(color='rgb(26,150,65,0.5)')),
                opacity=0.1,
                showlegend=False,
                hoverinfo='none',
                mode='none'))
py.offline.iplot(go.Figure(data=[trace]))

This default call results in the following:
default fillcolor

and when I use fillcolor='green' it results in this nontransparent color:
fillcolor = green

The commented code results in the default case again.

Asked By: Hans Bambel

||

Answers:

You would need to use rgba to specify the alpha channel as well, rgb ignores the transparency.

import plotly
trace = plotly.graph_objs.Scatter(x=[30,45],y=[3000,3000],
                                  fill='tozeroy', 
                                  fillcolor='rgba(26,150,65,0.5)',
                                  mode='none')
plotly.offline.iplot(plotly.graph_objs.Figure(data=[trace]))

enter image description here

Answered By: Maximilian Peters

Looks like there is for traces. opacity=0.5 is an argument. https://plotly.com/python/marker-style/

Answered By: Quint

If you have multiple traces, you can update each of them this way when using histogram.

fig = px.histogram(df_main, 
                x="follow_count", 
                nbins=50,
                color="label",
                marginal="box", # or violin, rug
                title='Distribution of the follow count per label.'
                )


fig = fig.update_layout(barmode='overlay')

opacity = {'0.0': 1, '1.0': 0.65, '3.0': 1}
fig.for_each_trace(lambda trace: trace.update(opacity = opacity[trace.name]) if trace.name in opacity.keys() else (),)

fig

It’s nice to have so you can see the colors behind when using overlay. In that case, label 3 is very low, hence why you don’t see it much.

enter image description here

Answered By: Marc
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.