更改 100% 堆积条形图中的颜色绘图 python

我正在尝试在 plotly 中更改堆叠的 100% 条形图的颜色。

我有以下数据框和代码:

import pandas as pd
import plotly
import plotly.express as px
from plotly.offline import plot

df = pd.DataFrame([["A","Jan","20%"],["A","Fev","10%"],"Mar","15%"],"Apr",["B",["C","25%"],"30%"],["D","40%"],"50%"],"45%"],"50%"]],columns=["type","month","percentage"])

colors = plotly.colors.qualitative.Prism

fig=px.bar(df,x='month',y='percentage',color=df['type'],barmode ='stack',text = df['percentage'])


fig.update_traces(textfont_size=12,marker_color = colors)

fig.update_layout(title = {'text': "Title",'x':0.5,'xanchor': 'center'},title_font_size=30,legend=dict(yanchor="bottom",y=0.0,xanchor="right",x=1.2),legend_font_size=16,xaxis_title = 'Months',yaxis_title ='%',xaxis_tickangle=-45,width = 1000,height = 600)
fig.show()

但我得到以下信息:

更改 100% 堆积条形图中的颜色绘图 python

更改整个条形的颜色,而不是更改每个条形部分的颜色。

我想要的是把原来的蓝、红、绿、紫改成:

更改 100% 堆积条形图中的颜色绘图 python

(这就是我在 marker_color = colors 中没有 fig.update_traces 时得到的结果,尝试根据需要更改颜色。)

我该怎么做才能正确?

qq19141221 回答:更改 100% 堆积条形图中的颜色绘图 python

marker_color 中设置 color_discrete_sequencepx.bar 参数而不是 update_traces

colors = plotly.colors.qualitative.Prism

fig = px.bar(df,x='month',y='percentage',color=df['type'],barmode='stack',text=df['percentage'].astype(str) + '%',# Add Percent Sign
             color_discrete_sequence=colors)

# Don't forget to remove from update_traces
fig.update_traces(textfont_size=12)

styled plot

数据和导入(删除了未正确绘制的字符串百分比):

import pandas as pd
import plotly
import plotly.express as px

df = pd.DataFrame([["A","Jan",20],["A","Fev",10],"Mar",15],"Apr",["B",["C",25],30],["D",40],50],45],50]],columns=["type","month","percentage"])
本文链接:https://www.f2er.com/7599.html

大家都在问