如何为Plotly分组条形图的各组设置同色系渐变色调?
解决方案:为分组条形图设置绿色渐变色调
要实现2019-2022年对应条形从浅绿到深绿的渐变效果,你可以通过以下方式修改代码:
- 选用绿色系渐变色彩序列:利用Plotly内置的
px.colors.sequential.Greens色阶,它包含从浅到深的完整绿色渐变,我们从中选取与年份数量(4个)匹配的颜色即可。 - 对齐年份与颜色的对应顺序:确保2019对应最浅的绿色,2022对应最深的绿色,避免颜色错位。
修改后的完整代码如下:
import pandas as pd import plotly.express as px # 构建数据 df_es_cons = pd.DataFrame({ 'Year':['2019','2019','2019','2020','2020','2020','2021','2021','2021','2022','2022','2022'], 'Event consultation method': ['Face to face','unknown','Telephone','Face to face','unknown','Telephone','unknown','Face to face','Telephone','Face to face','unknown','Telephone'], 'ES':[8677, 2681, 58, 3270, 2076, 911, 6507, 6272, 2008, 13846, 7455, 1128] }) # 指定从浅到深的绿色序列(对应2019-2022) green_gradients = px.colors.sequential.Greens[1:5] # 跳过最浅的近乎白色,保留明显的绿色渐变 fig = px.bar(df_es_cons, x='Event consultation method', y='ES', color='Year', color_discrete_sequence=green_gradients, barmode='group', text_auto='.2s' ) fig.update_layout(title_text='咨询方式对应ES值统计(2019-2022)', title_x=0.5) fig.show()
额外说明:
- 若需要更个性化的绿色渐变,可手动指定颜色列表,例如:
['#c7e9c0', '#a1d99b', '#41ab5d', '#238b45'],需遵循从浅到深的顺序对应2019到2022年。 - 若年份排序出现混乱,可先将
Year列转为有序类别:df_es_cons['Year'] = pd.Categorical(df_es_cons['Year'], categories=['2019','2020','2021','2022'], ordered=True)
内容的提问来源于stack exchange,提问作者johnkideys
相关产品推荐
相关产品推荐

