颜色条最小值和最大值最大值、最小值、颜色

2023-09-06 07:50:58 作者:呆到自然萌i

如何手动更改颜色条的最小值和最大值?例如.如何将下图中颜色条的最小值设置为 0?

How can I manually change the minimum and maximum value of a colorbar in plotly? E.g. how can I set the minimum of the colorbar in the following plot to 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']))
fig.update_layout(margin = dict(t=50, l=25, r=25, b=25))
fig.show()

推荐答案

您可以将 range_color=[min, max] 传递给 px.treemap() :

You can pass range_color=[min, max] to px.treemap() :

range_color(两个数字的列表)- 如果提供,则覆盖在连续色标上自动缩放.

range_color (list of two numbers) – If provided, overrides auto-scaling on the continuous color scale.

例如,您可以传递任意值:

For example you can pass arbitrary values :

range_color=[0, 100]

或设置适合数据框最小值和最大值的范围:

or set a range that fits the dataframe min and max values :

range_color=[df['lifeExp'].min(), df['lifeExp'].max()]

此外,您可能希望使用中值作为颜色中点而不是平均值,以更好地说明国家之间的lifeExp"差异.

Also, you migth want to use the median as color midpoint instead of the average to better illustrate 'lifeExp' discrepancies between countries.