Assigns each point a longitude and latitude corresponding to the geographic
centre of its administrative area. This means that all points in the same
area will overlap. The default position
uses position_circle_repel()
to repel the points outwards with an amount controllable with its
scale
parameter.
geom_centroids(
mapping = ggplot2::aes(),
data = NULL,
stat = "automap_coords",
position = "circle_repel_sf",
...,
fun.geometry = NULL,
feature_type = NA,
inset = NA,
map_base = "clip",
map_inset = "auto",
na.rm = TRUE,
show.legend = "point",
inherit.aes = TRUE
)
A ggplot layer.
A function that takes a sfc
object and returns a sfc_POINT
with the
same length as the input. If NULL
, function(x) sf::st_point_on_surface(sf::st_zm(x))
will be used. Note that the function may warn about the incorrectness of
the result if the data is not projected, but you can ignore this except
when you really care about the exact locations.
Type of map feature. See feature_types()
for a list of
registered types. If NA
, the type is guessed based on the values in
feature_names
.
Inset configuration; see configure_inset()
.
If NA
(the default), this is inherited from the coord (see coord_sf_inset()
).
Controls the layer with the base map. Possible values are
"normal"
to create a layer as though the inset were not specified,
"clip"
to create a layer with the inset viewport cut out, and
"none"
to prevent the insertion of a layer for the base map.
Controls the layer with the inset map. Possible values are
"auto"
to choose the behaviour based on whether inset
is specified,
"normal"
to create a layer with the viewport cut out and transformed, and
"none"
to prevent the insertion of a layer for the viewport map.
The location
aesthetic is required.
geom_centroids()
understands the same aesthetics as ggplot2::geom_point()
.
library(ggplot2)
cartographer::nc_type_example_2 |>
head(n = 100) |>
ggplot(aes(location = county)) +
geom_boundaries(feature_type = "sf.nc") +
geom_centroids(aes(colour = type), position = position_circle_repel_sf(scale = 6), size = 0.5) +
coord_automap(feature_type = "sf.nc")
Run the code above in your browser using DataLab