Closed
Description
I would like to use relative positioning (0-1 scale) to add a text annotation to a ggplot object that uses geom_sf. I've tried two different methods that were mentioned here, but both seem to fail with different results.
First attempt, using Hadley's suggestion does produce any annotation:
library(ggplot2)
ggplot(nc, aes(fill=AREA)) +
geom_sf() +
annotate("text", -Inf, Inf, label = "Top-left", hjust = 0, vjust = 1)
I never see "Top-left" on the plot no matter what values I've tried for hjust or vjust.
Second attempt, using textGrob (via this comment):
library(sf)
library(ggplot2)
library(grid)
nc = st_read(system.file("shape/nc.shp", package="sf"))
ggplot(nc) +geom_sf(aes(fill = AREA))+
annotation_custom(textGrob(label="xx"))
This results in "Error in grid.Call.graphics(C_setviewport, vp, TRUE): non-finite location and/or size for viewport"
. I get the same results if I specify x and y locations in textGrob with different units (npc, cm, lines).
Any help would be most welcome. Thanks.
Metadata
Metadata
Assignees
Labels
No labels