Я сделал карту с помощью ggplot, на которой показаны различные точки долготы и широты страны. Я хочу, чтобы размер точек соответствовал столбцу частоты, который у меня есть в моем фрейме данных. Мой фрейм данных выглядит так:

Longitude   Latitude    Frequency
5.012392    52.09544    4
5.196948    52.30847    4
5.196945    52.1223     6
5.196945    52.30846    1
6.180394    53.19633    3
5.233904    52.42395    87

Вот мой код для создания карты и нанесения точек на ggplot:

ggplot() + 
         geom_polygon(data=Neth, aes(long,lat,group=group), fill="whitesmoke")+
          geom_path(data=Neth, aes(long,lat, group=group), color="black",
                   size=0.2) +
         geom_point(data=df, 
         aes(x=Longitude, y=Latitude, label = Frequency), colour="red", fill = "pink", pch=21, size=df$Frequency,  alpha=I(0.5)) + scale_size(range = c(1,6))

"Neth" - это моя загруженная карта GADM. Когда я добавляю функцию scale_size, ничего не меняется и, например, точка с частотой 87 просто огромна. Любая помощь приветствуется.

Вот как выглядит мой график с моими фактическими данными: участок карты

0
Kak Schoen 24 Окт 2019 в 20:26

1 ответ

Лучший ответ

Как сказал Грегор, восстановивший Монику:

Поместите size = Frequency внутри aes () для слоя geom_point. Удалить size = df $ Frequency

0
Kak Schoen 21 Дек 2019 в 16:46