美文网首页
python填色循环出图

python填色循环出图

作者: Aerosols | 来源:发表于2019-04-11 10:45 被阅读0次

    雷达填色图

    import numpy as np
    import pandas as pd
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    import datetime
    import os
    import time
    import glob
    
    from matplotlib.font_manager import FontProperties
    from matplotlib.dates import AutoDateLocator, DateFormatter
    
    
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    mpl.rcParams['font.family'] = 'sans-serif'
    mpl.rcParams['font.sans-serif'] = 'Times New Roman'#中文除外的设置成New Roman,中文设置成宋体,NSimSun,
    font = FontProperties(fname=r"C:\\Windows\\Fonts\\times.ttf")
    
    path=r'E:\学业\大组\小组\2017'
    files=glob.glob(os.path.join(path, "depol*.txt"))
    
    for f in files[:5]:
        print('f={}'.format(f))
        data=pd.read_csv(f,sep='\s+',header=None,index_col=0)
    
        depol=data
        hgt=list(np.arange(30,12030,30))
        depol.columns=pd.Index(hgt)
    
        xdata = pd.to_datetime(depol.index, format='%Y%m%d%H%M')
        ydata = hgt
    
        zdata = depol.values.T
        zdata[zdata==-990000]=np.nan
        zdata[zdata==-99000]=np.nan
        zdata[zdata<0]=0
        zdata[zdata>1]=1
        
        fig = plt.figure(figsize=(16,8))
        ax=plt.subplot(111)
        X,Y = np.meshgrid(xdata,ydata)
        minval,maxval=0, 1.1
        cs = plt.contourf(X,Y,zdata, np.arange(minval, maxval,0.01),cmap=plt.cm.get_cmap('jet'))
    
        majorloc = mdates.HourLocator(byhour=[12])
        majorFormatter = DateFormatter('%m-%d_%H')
        ax.xaxis.set_major_locator(majorloc)
        ax.xaxis.set_major_formatter(majorFormatter)
    
        ax.xaxis.set_minor_locator(mdates.HourLocator(interval=6)) 
    
        ylabel=('1','2','3','4','5','6','7','8','9','10','11','12')
        plt.yticks(np.linspace(1000,12000,12, endpoint=True),ylabel)
        plt.ylabel('Height (km)',fontproperties=font,fontsize=24)
        plt.ylim(0, 12000)
    
        cbar = plt.colorbar(cs)
        cbar.set_label('Depolarization Ratio',fontproperties=font,fontsize=24)
        cbar.set_ticks(np.linspace(0.1, 1, 10))
        cbar.ax.tick_params(labelsize=24)
        cs.ax.tick_params(labelsize=24)#plt.xticks(fontsize=18)
    
        titleStr='532 nm Aerosols Depolarization Ratio'
        plt.title(titleStr,fontproperties=font,fontsize=28)
        plt.savefig(f.replace('txt','png'),bbox_inches = 'tight',dpi=600)
    

    感谢焦老板和冯师兄。

    相关文章

      网友评论

          本文标题:python填色循环出图

          本文链接:https://www.haomeiwen.com/subject/fogziqtx.html