Skip to content

Unable to add text annotation to geom_sf plot #879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sschloss1 opened this issue Oct 31, 2018 · 3 comments
Closed

Unable to add text annotation to geom_sf plot #879

sschloss1 opened this issue Oct 31, 2018 · 3 comments

Comments

@sschloss1
Copy link

sschloss1 commented Oct 31, 2018

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.

@yutannihilation
Copy link
Contributor

Could you file this issue on ggplot2's repo? I guess coord_sf() forgets to squash Inf within the range, which coord_cartesian() does.

@sschloss1
Copy link
Author

Filed with ggplot2 at tidyverse/ggplot2#2971

@yutannihilation
Copy link
Contributor

Thanks! I think you can close this issue here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants