如何在matplotlib中定义自己的颜色映射

2024-09-30 20:18:30 发布

您现在位置:Python中文网/ 问答频道 /正文

问题1:

现在我通过以下代码定义colormap:

 import matplotlib.colors as col
 import matplotlib.cm as cm
 from matplotlib import pyplot as plt
 startcolor = 'blue'
 midcolor = 'white'  
 endcolor = 'red'  
 cmap2 = col.LinearSegmentedColormap.from_list('own2', [startcolor,  midcolor, endcolor])

然后我输入x_axisy_axisvaluecmap的用法如下:

 plt.scatter(x_axis, y_axis , c=value , cmap=cm.get_cmap('own2'))
 plt.colorbar()
 plt.show()

值得一提的是value[-1, 1]、maby{}、maby{}一样不是对称的 最后一个图,mid num不是0到白色midcolor,所以我得到了这个colorbar

现在我需要value>0对应红色和value<0蓝色的颜色贴图。越高value,颜色越深

问题2:

此外,我还需要像这样定义颜色贴图。 如何定义自己的间隔和颜色

value<-1 is  color1
-1<value<-0.5   is color2
-0.5<value<0.5  is color2
0.5<value<1     is color3
... and so on 

如果你知道如何处理它,你可以回答一个或全部问题


Tags: fromimport定义matplotlibisvalue颜色as