2017-10-14 100 views
0

我使用繪圖生成熱圖,然後更改色彩比例。如果熱圖的值都是正值,則會導致色彩不覆蓋整個顏色範圍。如何獲得色彩的全範圍?

我該如何解決這個問題?

輸入

import pandas as pd 
import numpy as np 
import plotly.offline as py 
import cufflinks as cf 
cf.go_offline() 

index = range(500) 
columns = range(20) 
df = pd.DataFrame(np.random.randn(500, 20) + 100, index=index, columns=columns) 

fig = df.iplot(kind='heatmap', colorscale='Rdbu', asFigure=True) 
fig['data'][0].update(colorscale='Redblue') 
py.iplot(fig) 

輸出

Image

interactive graph

+2

翻閱文檔。應該有參數來指定顏色映射的最小值和最大值。 https://stackoverflow.com/q/3373256/2823755可能會讓你開始。 – wwii

回答

1

我還沒有完全弄清楚這一點,但似乎根據數據是由正數,負數還是混合數字組成,似乎選擇了色標。

就我而言,當我的數字都是正數時,我得到的只是一個紅色的色彩。指定最小和最大值沒有幫助。

爲了解決這個問題,我在plotly documentation的幫助下定義了我自己的色彩比例。