Python 打印热图中的自定义x轴排序

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将这个顺

我想在绘制的热图中自定义xaxis排序,但不确定如何执行此操作

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范围列进行排序。问题是,当我将这些数据转换为热图时,我得到的是: