Plotly热图-Python-添加颜色栏

Plotly热图-Python-添加颜色栏,python,plotly,Python,Plotly,我有一个从数据框生成的热图。不幸的是,它没有颜色条。我试过添加一个,但没有显示出来。有什么想法吗 代码如下: zp = df_hml.values.tolist() zp.reverse() z = zp z_text = np.around(z) x = [threeYr,twoYr,oneYr,Yr] y=['March', 'February', 'January', 'December', 'November', 'October', 'September', 'August', '

我有一个从数据框生成的热图。不幸的是,它没有颜色条。我试过添加一个,但没有显示出来。有什么想法吗

代码如下:

zp = df_hml.values.tolist()
zp.reverse()
z = zp
z_text = np.around(z) 

x = [threeYr,twoYr,oneYr,Yr]
y=['March', 'February', 'January', 'December', 'November', 'October', 'September', 'August', 'July', 'June', 'May', 'April']


layout = go.Layout(
    autosize=False,
    width=700,
    height=450,
    margin=go.Margin(
        l=150,
        r=160,
        b=50,
        t=100,
        pad=3
    ),
)
colorscale = [[0, '#454D59'],[0.5, '#FFFFFF'], [1, '#F1C40F']]
fig = ff.create_annotated_heatmap(z, x=x, y=y, annotation_text=z_text,colorscale=colorscale,  hoverinfo='z')

# Make text size smaller
for i in range(len(fig.layout.annotations)):
        fig.layout.annotations[i].font.size = 9

fig.layout.title = '<b>Research - HEATMAP</b><br>Applications'
fig.layout.titlefont.size = 14

fig.layout.width = 700
fig.layout.height = 550 
plotly.offline.iplot(fig, config={"displayModeBar": False}, show_link=False, filename='annotated_heatmap_numpy')
zp=df_hml.values.tolist()
zp.reverse()
z=zp
z_text=np.环绕(z)
x=[三年,两年,一年,一年]
y=[‘三月’、‘二月’、‘一月’、‘十二月’、‘十一月’、‘十月’、‘九月’、‘八月’、‘七月’、‘六月’、‘五月’、‘四月’]
布局=开始。布局(
autosize=False,
宽度=700,
高度=450,
保证金=go.margin(
l=150,
r=160,
b=50,
t=100,
pad=3
),
)
色标=[[0',[454D59'],[0.5',[FFFFFF'],[1',[F1C40F']
图=ff.创建带注释的热图(z,x=x,y=y,注释文本=z\u文本,颜色比例=colorscale,hoverinfo='z')
#使文本大小变小
对于范围内的i(len(图布局注释)):
图.布局.注释[i].font.size=9
fig.layout.title='研究-热图
应用程序' 图布局标题字体尺寸=14 图布局宽度=700 图布局高度=550 plotly.offline.iplot(图,config={“displayModeBar”:False},show\u link=False,filename='notated\u heatmap\u numpy')
这就产生了:


create\u annotated\u heatmap
返回的对象实际上只是一个JSON。您可以使用
print(图)
检查所有参数。只需设置
fig['data'][0]['showscale']=True
,就会出现比例尺

此外,您应该将
色标设置为

colorscale = [[0, '#454D59'],
              [0.33, '#454D59'],
              [0.33, '#FFFFFF'],
              [0.66, '#FFFFFF'],
              [0.66, '#F1C40F'], 
              [1, '#F1C40F']]
i、 e


对于离散色条,两种不同颜色的上限和下限应该相同。

即使使用我使用的三种颜色创建单独的色条,也会很有帮助。非常感谢!完美地工作:)。。。我明白你的意思。
 [[lower bound, color1], [upper bound, color1],
  [lower bound, color2], [upper bound, color2],