Python 打印热图中的自定义x轴排序
我想在绘制的热图中自定义xaxis排序,但不确定如何执行此操作Python 打印热图中的自定义x轴排序,python,pandas,plotly,Python,Pandas,Plotly,我想在绘制的热图中自定义xaxis排序,但不确定如何执行此操作 return { 'data': [ go.Heatmap( z=fights['win_rate'], y=fights['age_range'], x=fights['opp_age_range'], showscale=True) ], 我试着创建一个具有我想要的顺序的列表,然后使用.loc将这个顺
return {
'data': [
go.Heatmap(
z=fights['win_rate'],
y=fights['age_range'],
x=fights['opp_age_range'],
showscale=True)
],
我试着创建一个具有我想要的顺序的列表,然后使用.loc将这个顺序应用到我的列中
order = ['15-20','20-25','25-30','30-35','35-40','40-45','45-50']
return {
'data': [
go.Heatmap(
z=fights['win_rate'],
y=fights['age_range'],
x=fights['opp_age_range'].set_index('opp_age_range']).loc[order],
showscale=True)
],
但是,这不会改变顺序
这是我的数据示例:
{'age_range': {0: '15-20', 1: '15-20', 2: '20-25', 3: '20-25', 4: '20-25'},
'opp_age_range': {0: '25-30', 1: '25-30', 2: '20-25', 3: '20-25', 4: '20-25'},
'division': {0: 'cruiser',
1: 'super feather',
2: 'feather',
3: 'light',
4: 'super bantam'},
'sex': {0: 'male', 1: 'male', 2: 'male', 3: 'male', 4: 'male'},
'wins': {0: 6, 1: 15, 2: 9, 3: 30, 4: 7},
'loss': {0: 7, 1: 11, 2: 35, 3: 28, 4: 21},
'draw': {0: 2, 1: 2, 2: 2, 3: 1, 4: 1},
'other': {0: 1, 1: 1, 2: 1, 3: 2, 4: 2},
'total_fights': {0: 16, 1: 29, 2: 47, 3: 61, 4: 31},
'win_rate': {0: 37.5,
1: 51.724137931034484,
2: 19.148936170212767,
3: 49.18032786885246,
4: 22.58064516129032}}
因此,虽然我可以轻松地对年龄范围和opp范围列进行排序。问题是,当我将这些数据转换为热图时,我得到的是: