python - Plotly 热图 - Python - 添加颜色条

标签 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', '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')

这会产生这个:

enter image description here

最佳答案

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

此外,您应该将colorscale设置为

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

 [[lower bound, color1], [upper bound, color1],
  [lower bound, color2], [upper bound, color2],

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

关于python - Plotly 热图 - Python - 添加颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45433867/

相关文章:

python - 使用破折号回调生成多个图

r - 美学中的未知问题破坏了 Shiny 应用程序中的 ggplotly 绘图

Python/plotly : How to print y-trend values from LOWESS line?

Python源文件组织

python - sklearn 中的预测评分(Python 机器学习)

python - Django 脚本中 'sort' 命令的 subprocess.call() 正在将\M 添加到我的文件末尾

r - 如何使用响应式(Reactive)数据框在 R Shiny 中创建可拖动的绘图?

python - Plotly:如何使用下拉菜单在每日和每小时烛台之间进行更改?

python - 使用 plotly 修改轴范围

python - 最后一列追加 python