-
Notifications
You must be signed in to change notification settings - Fork 408
Description
Description of the desired feature
There are several aspects to consider regarding when to place gridlines, basemap frame and annotations+ticks on a plot. We recently learned that when MAP_FRAME_TYPE=inside then it is important that the annotations and ticks are plotted at the end of the module, whereas we typically lay down the annotations first. Note: The user can always achieve any other result by using a single basemap command before or after the data plotting, but we should have good and consistent default actions.
The normal rule has been that we always lay down the full basemap (frame, annotations+ticks, optional gridlines) prior to plotting anything else in the module. This rule is ignored for the following cases:
- For modules plotting filled polygons (data, coast, solar, etc.) the gridlines shall be plotted at the end of the module (if 2-D).
- For modules plotting images (grdimage, grdview if 2-D, image, grdcontour with fill) the gridlines shall be plotted at the end of the module.
If MAP_FRAME_TYPE=inside then annotations shall be plotted at the end of the module.
Unresolved is the drawing of the base frame itself. For some modules like plot -N, we will plot symbols that normally can overprint the frame. To me, it looks ugly to have the frame plot on top of these points. Also, symbols that may start at the baseframe, such as vertical or horizontal bars, will overprint the frame by at least half the frame pen (and more if there is bar outline). In contrast, here I think plotting the baseframe last looks better. Two options:
Always draw baseframe at the start. This means items can and will plot on top of the frame.
Always draw baseframe at the end. This means symbols at or on the border will have a fat line cutting through them.
Whatever we decide, some tests may need to be recoded to accomplish what we wanted to show. Comments, @joa-quim and @seisman ?