更改填充颜色的透明度

问题描述 投票:0回答:3

我试图将 Plotly 中填充颜色的默认颜色更改为另一种透明颜色,但是当我更改填充颜色时,它不再透明了。

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]))

default 调用结果如下:

当我使用

fillcolor='green'
时,它会产生这种不透明的颜色:

注释的代码再次导致默认情况。

python plot colors plotly plotly-python
3个回答
33
投票

您还需要使用

rgba
来指定 alpha 通道,
rgb
忽略透明度。

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]))


9
投票

好像有痕迹。

opacity=0.5
是一个论点。 https://plotly.com/python/marker-style/


0
投票

如果您有多个轨迹,您可以在使用直方图时以这种方式更新每个轨迹。

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

很高兴有这样你可以在使用覆盖时看到背后的颜色。在那种情况下,标签 3 非常低,因此你看不到它的原因。

© www.soinside.com 2019 - 2024. All rights reserved.