matplotlib对ColorBar的处理似乎优于matlab

来源:互联网 发布:淘宝人工客服电话400 编辑:程序博客网 时间:2024/06/05 16:41

matplotlib上的源代码链接
这里写图片描述

'''Make a colorbar as a separate figure.'''from matplotlib import pyplotimport matplotlib as mpl# Make a figure and axes with dimensions as desired.fig = pyplot.figure(figsize=(8, 3))ax1 = fig.add_axes([0.05, 0.80, 0.9, 0.15])ax2 = fig.add_axes([0.05, 0.475, 0.9, 0.15])ax3 = fig.add_axes([0.05, 0.15, 0.9, 0.15])# Set the colormap and norm to correspond to the data for which# the colorbar will be used.cmap = mpl.cm.coolnorm = mpl.colors.Normalize(vmin=5, vmax=10)# ColorbarBase derives from ScalarMappable and puts a colorbar# in a specified axes, so it has everything needed for a# standalone colorbar.  There are many more kwargs, but the# following gives a basic continuous colorbar with ticks# and labels.cb1 = mpl.colorbar.ColorbarBase(ax1, cmap=cmap,                                norm=norm,                                orientation='horizontal')cb1.set_label('Some Units')# The second example illustrates the use of a ListedColormap, a# BoundaryNorm, and extended ends to show the "over" and "under"# value colors.cmap = mpl.colors.ListedColormap(['r', 'g', 'b', 'c'])cmap.set_over('0.25')cmap.set_under('0.75')# If a ListedColormap is used, the length of the bounds array must be# one greater than the length of the color list.  The bounds must be# monotonically increasing.bounds = [1, 2, 4, 7, 8]norm = mpl.colors.BoundaryNorm(bounds, cmap.N)cb2 = mpl.colorbar.ColorbarBase(ax2, cmap=cmap,                                norm=norm,                                # to use 'extend', you must                                # specify two extra boundaries:                                boundaries=[0] + bounds + [13],                                extend='both',                                ticks=bounds,  # optional                                spacing='proportional',                                orientation='horizontal')cb2.set_label('Discrete intervals, some other units')# The third example illustrates the use of custom length colorbar# extensions, used on a colorbar with discrete intervals.cmap = mpl.colors.ListedColormap([[0., .4, 1.], [0., .8, 1.],                                  [1., .8, 0.], [1., .4, 0.]])cmap.set_over((1., 0., 0.))cmap.set_under((0., 0., 1.))bounds = [-1., -.5, 0., .5, 1.]norm = mpl.colors.BoundaryNorm(bounds, cmap.N)cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap,                                norm=norm,                                boundaries=[-10] + bounds + [10],                                extend='both',                                # Make the length of each extension                                # the same as the length of the                                # interior colors:                                extendfrac='auto',                                ticks=bounds,                                spacing='uniform',                                orientation='horizontal')cb3.set_label('Custom extension lengths, some other units')pyplot.show()
0 0
原创粉丝点击