首页 > 解决方案 > 有没有办法为 python plotly 热图创建分层轴标签?

问题描述

我一直在尝试在 python plotly 热图中创建分层标签,但似乎没有办法这样做。如果有办法做到这一点,任何人都可以提供任何想法吗?例如,请查看下面图片链接中的图表。我正在为我的热图使用 plotly figure factory 库中的 create_annotated_heatmap 函数。

为了说明,我想做一些类似于下面图片链接中的图表的事情,但只是用热图替换条形图。

例子

例如,请参阅下面的脚本,其中我使用一些示例数据来创建热图。在此示例中,团队属于 y1 字典中显示的不同国家/地区,我想将团队所属的国家/地区显示为沿 y 轴的团队名称的分层标签。

import plotly.figure_factory as ff

z = [[.1, .3, .5],
     [1.0, .8, .6],
     [.6, .4, .2],
     [.4, .1, .6],
     [.9, .4, .4],
     [.3, .2, .2],
     [.6, .4, .2]]

y = ['Team A', 'Team B', 'Team C','Team D', 'Team E', 'Team F','Team G']
x = ['Game Three', 'Game Two', 'Game One']

y1 = {'USA': 'Team A', 
      'UK':'Team B', 
      'USA': 'Team C',
      'UK': 'Team D', 
      'UK': 'Team E', 
      'Canada': 'Team F',
      'Canada': 'Team G'}

zmin = 0
zmax = 1

green = '#00d000'
red = '#d00000'
grey = '#bbbbbb'

fig = ff.create_annotated_heatmap(
            z=z,
            y=y,
            x=x,
            colorscale=[[0.0, red], [0.5, grey], [1.0, green]],
            xgap=2,
            ygap=2,
            zmin=zmin,
            zmax=zmax
        )

fig.show()

标签: pythonplotlyheatmapplotly-dashplotly-python

解决方案


推荐阅读