创建这种颜色图的最简单方法是通过LinearSegmentedColormap.from_list('', ['b', 'k', 'k', 'r'])
。这个划分的颜色均匀,所以纯黑色占据1/3次的范围内的。
该功能还允许通过形式(position
,color
)的元组来定位颜色,position
范围从0
左侧(底部)到1
右侧(顶部)。下面是一个示例,其中黑色占了范围的10%。
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
from matplotlib.cm import ScalarMappable
import numpy as np
cmap1 = LinearSegmentedColormap.from_list('', ['b', 'k', 'k', 'r'])
plt.colorbar(ScalarMappable(cmap=cmap1), orientation='horizontal',
ticks=np.linspace(0,1,11), label='pure black occupies 1/3rd')
width = 0.1
cmap2 = LinearSegmentedColormap.from_list('', [(0, 'b'), ((1 - width) / 2, 'k'), ( (1 + width) / 2, 'k'), (1, 'r')])
plt.colorbar(ScalarMappable(cmap=cmap2), orientation='horizontal',
ticks=np.linspace(0,1,11), label=f'pure black occupies {width}')
plt.show()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句