matplotlib,alpha colormap与contourf和imshow不同

时间:2014-04-20 16:31:01

标签: python matplotlib scipy

使用matplotlib(1.3.1),我定义了一个带有alpha图层的自定义色彩映射。 然后我使用imshow和contourf的colormap,透明度看起来不同。

这是一个小型工作示例:

#!/usr/bin/env python

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap

cdict1 = {'red':   ((0.0, 0.0, 0.0),
                   (1.0, 1.0, 1.0)),

         'green': ((0.0, 0.0, 0.0),
                   (1.0, 0.0, 0.0)),

         'blue':  ((0.0, 0.0, 1.0),
                   (1.0, 0.0, 0.0))
        }


cdict1['alpha'] = ((0.0, 0.5, 0.5),
                   (1.0, 0.5, 0.5))

plt.register_cmap(name='BlueRedAlpha', data=cdict1)


Z = np.zeros([10, 10])

plt.subplot(1,2,1)
plt.imshow(Z, interpolation='nearest',cmap="BlueRedAlpha",vmin=-100,vmax=100)


plt.subplot(1,2,2)
plt.contourf(Z,cmap="BlueRedAlpha",vmin=-100,vmax=100,antialiased=True)


plt.show()

imshow和contourf的颜色不一样。 如何获得相同的颜色?

0 个答案:

没有答案