Changeset 773 in lmdz_wrf for trunk/tools/drawing_tools.py


Ignore:
Timestamp:
May 24, 2016, 11:05:49 AM (9 years ago)
Author:
lfita
Message:

Adding draw_vertical_levels' and plot_vertical_lev', plotting vertical levels distribution

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/drawing_tools.py

    r705 r773  
    65616561    return
    65626562
     6563
     6564def plot_vertical_lev(vertz, zlog, dzlog, gtit, kfig, lloc):
     6565    """ plotting vertical levels distribution
     6566    plot_vertical_lev(vertz, gtit, kfig, lloc)
     6567      vertz= distribution of vertical heights [z]
     6568      zlog: to use logarithmic scale on the height axis ('true/false')
     6569      dzlog: to use logarithmic scale on the difference of height between levels axis ('true/false')
     6570      gtit= title of the graph ('!' for spaces)
     6571      kfig= kind of figure (jpg, pdf, png)
     6572      lloc= location of the legend (0, automatic)
     6573        1: 'upper right', 2: 'upper left', 3: 'lower left', 4: 'lower right',
     6574        5: 'right', 6: 'center left', 7: 'center right', 8: 'lower center',
     6575        9: 'upper center', 10: 'center'      kfig= kind of figure
     6576    """
     6577    fname = 'plot_vertical_lev'
     6578
     6579    figname = 'vertical_lev'
     6580
     6581    if vertz == 'h':
     6582        print fname + '_____________________________________________________________'
     6583        print plot_vertical_lev.__doc__
     6584        quit()
     6585
     6586    Nlev = len(vertz)
     6587    dvertz = vertz[1:Nlev] - vertz[0:Nlev-1]
     6588
     6589# From: http://stackoverflow.com/questions/14762181/adding-a-y-axis-label-to-secondary-y-axis-in-matplotlib
     6590
     6591    plt.rc('text', usetex=True)
     6592
     6593    fig, ax1 = plt.subplots()
     6594    ax2 = ax1.twinx()
     6595
     6596    plt.xlim(0,Nlev)
     6597
     6598    l1 = ax1.plot(range(Nlev), vertz, 'r-x', label='height')
     6599    l2 = ax2.plot(range(1,Nlev), dvertz, 'b-x', label='dheight')
     6600
     6601    ax1.set_xlabel('level (\#)')
     6602    ax1.set_ylabel('height (m)', color='r')
     6603    ax1.set_ylim(1,np.max(vertz))
     6604    ax1.grid()
     6605    ax2.set_ylabel('difference between levels (m)', color='b')
     6606
     6607    plt.title(gtit)
     6608    if zlog: ax1.set_yscale('log')
     6609    if dzlog: ax2.set_yscale('log')
     6610
     6611    output_kind(kfig, figname, True)
     6612
     6613    return
     6614
Note: See TracChangeset for help on using the changeset viewer.