使用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的颜色不一样。 如何获得相同的颜色?