2017-08-01 59 views
0

データフレームから作成したヒートマップがあります。残念ながら、それにはカラーバーがありません。私は1つ追加しようとしましたが、それは表示されません。何か案は?Plotly Heatmap - Python - カラーバーを追加

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') 

この生成します:create_annotated_heatmapによって返されるオブジェクトは、事実上単なるJSONで

enter image description here

+0

3色を使って別のカラーバーを作成しても、私は役に立ちました – ScoutEU

答えて

1

これはコードです。 print(fig)ですべてのパラメータを検査できます。 fig['data'][0]['showscale'] = Trueと設定すると、スケールバーが表示されます。

また、あなたのcolorscaleすなわち

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

2つの異なる色の上限と下が離散カラーバーのために同一である必要があります

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

に設定する必要があります。

+0

ありがとうございました!完璧に動作:)私はあなたが言っていることを理解しています。 – ScoutEU

関連する問題