为了账号安全,请及时绑定邮箱和手机立即绑定

Plotly:如何为离散分类变量设置等值线图颜色?

Plotly:如何为离散分类变量设置等值线图颜色?

慕沐林林 2023-06-27 16:23:53
我正在尝试绘制一张世界地图,其中包含具有不同风险级别(低、中和高)的所有国家。我想让每个风险级别具有不同的颜色,但不确定如何更改配色方案,以便每个风险类别都有我选择的颜色。df.risk 变量目前低为 1,中等为 2,高为 3,因此它是一个连续变量,但是我想使用离散变量,fig = go.Figure(data=go.Choropleth(    locations = df['code'],    z = df['risk'],    text = df['COUNTRY'],    colorscale = 'Rainbow',    autocolorscale=False,    reversescale=True,    marker_line_color='darkgray',    marker_line_width=0.5,    colorbar_tickprefix = '',    colorbar_title = 'Risk level',))fig.update_layout(    title_text='Risk map',    geo=dict(        showframe=False,        showcoastlines=False,        projection_type='equirectangular'    ),    annotations = [dict(        x=0.55,        y=0.15,        xref='paper',        yref='paper',        text='Source: <a href="www.google.com">\            Google</a>',        showarrow = False    )])fig.show()我的样本 df 是:{'Country': {0: 'Afghanistan',  1: 'Albania',  2: 'Algeria',  3: 'American Samoa',  4: 'Andorra'}, 'code': {0: 'AFG', 1: 'ALB', 2: 'DZA', 3: 'ASM', 4: 'AND'}, 'risk': {0: 'High', 1: 'Moderate', 2: 'High', 3: 'Low', 4: 'High'}}
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

在这种情况下,我宁愿使用plotly.expresswithcolor=df['risk']然后设置color_discrete_map={'High':'red', 'Moderate':'Yellow','Low':'Green'}

阴谋:

//img1.sycdn.imooc.com//649a9cb5000102cc06540306.jpg

完整代码:

import plotly.express as px

import pandas as pd


fig = px.choropleth(locations=df['Country'], 

                    locationmode="country names",

                    color=df['risk'],

                    color_discrete_map={'High':'red',

                                        'Moderate':'Yellow',

                                        'Low':'Green'}

                    #scope="usa"

                   )

fig.show()


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信