2

I need to flip the numbers (and tick marks) of the y-axis and x-axis to the right and top respectively (instead of where they are now). And I would like them INSIDE the map, not on the outside. This will eventually be a small inset map (without a key or any white margin space) on another larger map.

My map now: enter image description here

My code:

baseInset = get_map(location=c(-160.8,18.5,-154.625,22.5), zoom=8, maptype="terrain")

mapInset<-ggmap(baseInset)

Inset <- mapInset  +
            geom_point(data=CoordInset, aes(x=-Long, y=Lat, fill=Type, shape=Type),
                                            color="black", cex=1.4) + 
            scale_fill_manual(values=c("red", "blue"), 
                              labels=c("Molokaiense (not geo-referenced)",
                                       "Oahuense (not geo-referenced)")) +
            scale_shape_manual(values = c(21,23), 
                               labels=c("Molokaiense (not geo-referenced)",
                                        "Oahuense (not geo-referenced)"))   +
            theme(panel.border = element_rect(fill=NA, colour = "black", size=1),
                 plot.margin = unit(c(0.3, 0.3, -1.7, -0.2), 'lines'), 
                 axis.line = element_blank(), 
                 axis.text.x = element_text(angle=45, hjust=0.9, vjust=2.2, size=8), 
                 axis.ticks.length=unit(-0.15,"cm"), 
                 axis.text.y = element_text(size=8, margin = margin(r = -18)))

Example of the data in CoordInset:

Long      Lat                           Type

1  155.2000 19.50000             Not geo-referenced
2  155.2000 19.51600             Not geo-referenced
3  155.3433 19.67571             Not geo-referenced
4  155.4000 19.80000             Not geo-referenced
5  155.4483 19.76015             Not geo-referenced
6  155.5000 19.90000             Not geo-referenced
7  155.5000 19.80000             Not geo-referenced
8  155.6000 20.00000             Not geo-referenced
9  155.6000 19.80000             Not geo-referenced

I have tried to add scale_y_continuous(position = "right") and scale_x_continuous(position = "top") but I get the error message:

Scale for 'y' is already present. Adding another scale for 'y', which will replace the existing scale.               
Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.

Is there a way to accomplish this using theme()?

The bad result:

enter image description here

M--
  • 25,431
  • 8
  • 61
  • 93
Joseph
  • 49
  • 2
  • 1
    https://stackoverflow.com/questions/28949001/add-axis-tick-marks-on-top-and-to-the-right-to-a-ggplot – M-- Jun 20 '19 at 18:41

0 Answers0