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')
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')