2017-07-04 116 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

相关问题