2017-07-04 56 views
0

我有以下2個錯誤:AttributeError異常:未知的屬性CMAP

AttributeError: Unknown property cmap 

Cannot find reference 'coolwarm' in 'cm.py' 

我已經運行:

import matplotlib.pyplot as plt 
import matplotlib 
import matplotlib.cm as cm 

代碼我得到的誤差是

fig = plt.figure() 
ax1 = fig.add_subplot(111) 
ax2 = ax1.twiny() 

ax1.plot(result['tme'], result['spread'], ".", markersize=1, 
c=result['bdaterange'], cmap=cm.coolwarm) 
+1

這不是一個完整的代碼片斷,因爲您從不向我們展示'result'字典或完整回溯的定義。請閱讀[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。您還需要修復最後一行的縮進。 –

回答

2

自1.1.0(commit)開始,色譜圖coolwarm被添加到matplotlib中。

更新你的matplotlib後,你會得到它的工作。

pip install --upgrade matplotlib 
0

這可能是你想要做的事(你的問題有點含糊,所以,我猜)。

首先,一些進口和隨機數據:

import matplotlib.pyplot as plt 
import matplotlib.colors as colors 
import matplotlib.cm as cm 
import numpy as np 

xs = np.arange(10) 
ys = np.arange(10,20) 
# the intensity of each data point 
intensities = np.random.rand(10) 

然後,我們得到了你想要的顏色表:

coolwarm = plt.get_cmap('coolwarm') 
my_norm = colors.Normalize(0, 1) 
map = cm.ScalarMappable(norm=my_norm, cmap='coolwarm') 

最後,情節與它的強度每個數據點如下:

for idx in range(len(ys)): 
    point_x = xs[idx] 
    point_y = ys[idx] 
    my_col = map.to_rgba(intensities[idx]) 
    plt.plot(point_x, point_y, ".", markersize=5, color=my_col) 

plt.show() 

您需要這樣的圖像: random_cmap_data

相關問題