python的colormap总结
python的colormap总结
colormap⼜叫colorbar是⼀个包含三列矩阵的⾊彩映射表,简单来说就是⼀个shape为(N,3)的矩阵。
矩阵中的值的值取值范围为[0,1]
每⼀⾏代表⼀个颜⾊,即RGB值
1.matplotlib colorbar
(a)matplotlib⾃带的colorbar
python的matplotlib模块中内嵌了⼤批常⽤的
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap as mp
import numpy as np
import netCDF4 as nc
#%%
obj=nc.Dataset('E:/tidal mixing/gebco/GEBCO_2014_2D_90.0_5.0_100.0_')
lon=obj.variables['lon'][0:-1:2]
javaweb入门经典lat=obj.variables['lat'][0:-1:2]
elevation=obj.variables['elevation'][0:-1:2,0:-1:2]
elevation=np.ma.masked_greater_equal(elevation,0)
plt.figure(1,figsize=(8,6))
选择结构switch程序流程图m=mp(llcrnrlon=90.0,llcrnrlat=5.0,urcrnrlon=100.0,urcrnrlat=17.0,\
resolution='i',projection='mill')
m.drawcoastlines()
lonlabel=['90','92','94','96','98','100']
lon_num=[90,92,94,96,98,100]
latlabel=['6','8','10','12','14','16']
lat_num=[6,8,10,12,14,16]
lon_num,temp=m(lon_num,np.arange(len(lon_num)))
temp,lat_num=m(np.arange(len(lat_num)),lat_num)
plt.xlabel('Longitude(E)',fontsize=20)
plt.ylabel('Latitude(N)',fontsize=20)
xx,shgrid(lon,lat)
xx,yy=m(xx,yy)
cmap__cmap('RdYlBu_r')#_r的意思是反转colorbar
m.pcolormesh(xx,yy,elevation,cmap=cmap_color)
lorbar()
cbar.ax.tick_params(labelsize=20)
2.使⽤ncl的colorbar
是之前在⽓象家园上看到的⼀个⼤神⾃⼰写的包cmaps,这个包中基本包含了ncl的所有colorbar。 使⽤⽅法很简单,⾸先导⼊cmaps 包,然后改变cmap就⾏
import cmaps
cmap_l_default #如需反转colorbar,其⽅法cmap_color=versed()
3. 使⽤⽓象家园调⾊盘
这种⽅法是结合⽓象家园的调⾊盘,将平时看⽂献看到的colorbar为⾃⼰所⽤。
mysql正确安装图解
⽓象家园调⾊盘下载地址:
⽤链接⾥的⽅法克隆完⾊标之后⽣成⼀个txt⽂件,其⽂件中包含rgb值,即你将要使⽤的colormap
之后的⼯作是在python中导⼊这个colormap,由于⽣成的值在[0,255]之间,⽽python中要⽤的colormap RGB值范围是[0,1],所以要进⾏简单转换。
以下将colorbar转换写成⼀个函数,直接调⽤即可。
这个函数需要⽤到matplotlib的colors,因此要提前导⼊
from matplotlib import colors
jquery网页动画def dcmap():
file_path='E:/python/'
fid=open(file_path)
adlines()
n=len(data);
s((n,3))
for i in np.arange(n):
turtle简单好看绘图代码rgb[i][0]=data[i].split(',')[0]
rgb[i][1]=data[i].split(',')[1]
rgb[i][2]=data[i].split(',')[2]
rgb=rgb/255.0
气象python零基础入门教程icmap=colors.ListedColormap(rgb,name='my_color')
return icmap
cmap_color=dcmap()
m.pcolormesh(xx,yy,elevation,cmap=versed())`
以上三点是我常⽤的三种选择python colorbar的⽅法,还有⼀种⽅法是可以⽤matplotlib⾃⼰定义新的colorbar以及在原有colorbar的基础上修改形成⼀个新的colorbar的⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论