I want to create a map with pygmt, where I show the tracks of 4 cruises. They do partially overlap and one cruise is of special interest to me, hence I like to have it on top. The legend, however, should be sorted by date but the desired cruise was not the most recent one. Is there a way in pygmt to reorder the legend entries (as one can do for example by means of matplotlib.axes.Axes.get_legend_handles_labels)? Another possible option that came to my mind was the usage of something like the zorder option in matplotlib.pyplot.plot but I'm not aware of something similar in pygmt.
I hope this suffices as example code:
region,frame="g","g"
projection = 'G20.5/89.99999/25/4.5i' # yeah that’s the arctic…
fig = pygmt.Figure()
fig.coast(projection=projection, region=region, frame=frame, W=True) # plot cost lines
pen=0.9
fig.plot(cruise1_lon, cruise1_lat,label='"Cruise 1"',pen=('black',pen))
fig.plot(cruise2_lon, cruise2_lat,label='"Cruise 2"',pen=('green',pen))
fig.plot(cruise4_lon, cruise4_lat,label='"Cruise 4"',pen=('purple',pen)) # most recent one
fig.plot(cruise3_lon, cruise3_lat,label='"Cruise 3"',pen=('yellow',pen)) # should be plotted above the other cruises
fig.legend(position='JTL+jTL+o0.2c',box='+gwhite+p1p')
# should be sorted as: Cruise 1, Cruise 2, Cruise 3, Cruise 4,
# but is sorted as: Cruise 1, Cruise 2, Cruise 4, Cruise 3
fig.show()