Plotly中如何手动设置colorbar的最小值与最大值
要手动调整Plotly连续色条(colorbar)的最小值和最大值,有两种常用实现方式:
方法1:绘图时直接指定范围
在px.treemap等绘图函数中新增range_color参数,参数接收二元列表,第一个值为色条最小值,第二个为最大值,你需要将最小值设为0的话,调整代码如下:
import plotly.express as px import numpy as np df = px.data.gapminder().query("year == 2007") fig = px.treemap(df, path=[px.Constant("world"), 'continent', 'country'], values='pop', color='lifeExp', hover_data=['iso_alpha'], color_continuous_scale='RdBu', color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop']), range_color=[0, 100] # 新增此行,自定义色条最小/最大值 ) fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) fig.show()
如果不想硬编码最大值,也可以动态取数据的最大值适配:range_color=[0, df['lifeExp'].max()]。
方法2:绘图后修改色条范围
如果已经完成绘图初始化,也可以通过update_coloraxes方法调整色条阈值:
# 在fig.show()之前加入此行即可 fig.update_coloraxes(cmin=0, cmax=100)
两种方法效果完全一致,低于最小值的数值会统一显示最小值对应的色阶颜色,高于最大值的数值会统一显示最大值对应的色阶颜色,色条的刻度也会自动适配你设定的范围。
原示例效果图:
内容的提问来源于stack exchange,提问作者Stücke
相关产品推荐
相关产品推荐

