Exemplo n.º 1
0
def plot_small_map_for_F():
    from sito.stations import IPOCStations
    from matplotlib.lines import Line2D

    ipoc = IPOCStations()
    ipoc.pick('PATCX')
    m = map.createIPOCMap(show=False, ll=(-24, -70.9), ur=(-18, -68.5),
                          earthquake='Tocopilla_position', stations=ipoc,
                          cities='Tocopilla')
Exemplo n.º 2
0
def plot_results1(map_dic=None, scale=1):
    from sito.stations import IPOCStations
    from matplotlib.lines import Line2D
    # see /home/richter/Results/IPOC/veldrop_vs_groundmotion_stations.txt
    map_dic2 = dict(show=False, ll=(-25, -71.25), ur=(-18, -68.25),
                    slip=get_slipmodel(), cities='ipoc', stations=None)
    if map_dic is not None:
        map_dic2.update(map_dic)
    map_dic = map_dic2
    m = map.createIPOCMap(**map_dic)
    marker = 'o'
    scale2 = 2.
    ipoc = IPOCStations()
    ipoc_no_data = ipoc.pick('PB09 PB10 PB11 PB12 PB13 PB14 PB15', replace=False)
    ipoc_no_data.plot(m, marker=marker, mfc='w', ms=8 * scale, zorder=20)
    #1-3Hz
    ipoc_bad_data = ipoc.pick('MNMCX ', replace=False)
    ipoc_no_signal = ipoc.pick('LVC PB02 PB06 PB08 PSGCX', replace=False)  #<0.2%
    ipoc_small_signal = ipoc.pick('HMBCX PATCX PB01 PB03 PB04 PB05 PB07', replace=False)  #0.2-0.5%
    ipoc_big_signal = ipoc.pick('PB04 PB05', replace=False)  #>0.5%

    ipoc_bad_data.plot(m, marker=marker, mfc='#00FFFF', ms=8 * scale * scale2, zorder=20)
    ipoc_no_signal.plot(m, marker=marker, mfc='y', ms=8 * scale * scale2, zorder=20)
    ipoc_small_signal.plot(m, marker=marker, mfc='orange', ms=8 * scale * scale2, zorder=20)
    ipoc_big_signal.plot(m, marker=marker, mfc='r', ms=8 * scale * scale2, zorder=20)

    #4-6Hz
    ipoc_bad_data = ipoc.pick('', replace=False)
    ipoc_no_signal = ipoc.pick('HMBCX MNMCX PB01 PB06 LVC', replace=False)  #<0.2%
    ipoc_small_signal = ipoc.pick('PB04 PB05 PB07 PB08 PSGCX ', replace=False)  #0.2-0.5%
    ipoc_big_signal = ipoc.pick('PB02 PB03 PATCX', replace=False)  #>0.5%

    ipoc_bad_data.plot(m, marker=marker, mfc='#00FFFF', ms=8 * scale, zorder=21, annotate=False)
    ipoc_no_signal.plot(m, marker=marker, mfc='y', ms=8 * scale, zorder=21, annotate=False)
    ipoc_small_signal.plot(m, marker=marker, mfc='orange', ms=8 * scale, zorder=21, annotate=False)
    ipoc_big_signal.plot(m, marker=marker, mfc='r', ms=8 * scale, zorder=21, annotate=False)

    colors = 'w #00FFFF y orange r'.split()
    labels = 'no data,bad data,<0.2%,0.2-0.5%,>0.5%,1Hz-3Hz\n4Hz-6Hz'.split(',')
    legend_kwargs = dict(loc='center left', bbox_to_anchor=(1.22, 0.5))

    def myhandler(legend, orig_handle, fontsize, handlebox):
        w, h, x, y = handlebox.width, handlebox.height, handlebox.xdescent, handlebox.ydescent
        xm, ym = x + w / 2, y + h / 2
        s1, s2 = 4 * scale, 4 * scale * scale2
        a_list = [Line2D((xm, xm + 0.7 * w), (ym, 0.8 * ym + h), color='k'),
                  Line2D((xm,), (ym,), marker=marker, ms=2 * s2, color='w'),
                  Line2D((xm, xm + 0.7 * w), (ym, ym - 0.5 * h), color='k'),
                  Line2D((xm,), (ym,), marker=marker, ms=2 * s1, color='w')]
        for a in a_list:
            handlebox.add_artist(a)
    mpl.legend.Legend.update_default_handler_map({None: myhandler})
    plt.gca().legend([Line2D((0,), (1,), marker=marker, ls='', mfc=c, ms=8 * scale) for c in colors] +
              [None], labels, numpoints=1, **legend_kwargs)
    mpl.rcParams.update({'lines.linewidth':1.})
    m.drawmapscale(-68.7, -24., -70, -21.5, 50, fontsize=7, yoffset=0.005 * (m.ymax - m.ymin))
    plt.gcf().savefig('/home/richter/Documents/pics/maps/ipoc/ipoc_map_results3.pdf')