在 ggplot2 中创建一个两类毕业圆圈?

Creating a two-category graduated circle in ggplot2?

我制作了一个图表,其中我用刻度圈表示一个位置的鸟类数量,但我想为每个站点使用单独的颜色。

数据示例:

datexample <- data.frame(
    "site" = c("A","B"), 
    "bird" = c("1A","2A"), 
    "season" = c("Fall","Winter"), 
    "lat" =  c(45.25, 44.75, 44.75, 44.75), 
    "lon" = c(-61.75), 
    "Count"=c(1,3,3,3)
)

datexample

情节代码:

p = ggplot() +
  coord_sf(crs = 4326, xlim = c(-58, -69), ylim = c(40, 48))+
  xlab("Longitude")+
  ylab("Latitude")+
  facet_grid(. ~ season)+
  geom_point(data = datexample, aes(x = lon, y = lat, size=Count), pch=20, color="royalblue4")+
  scale_size_area()

p2 = p + theme(axis.text.x = element_text(angle = 90, hjust = 1))
p2

输出:

我不需要为所有点使用一种颜色,而是需要为每个站点使用一种颜色,并使这两个站点都出现在图例中。

我是 R 的新手,如有任何帮助,我们将不胜感激!

您可以将此 guides(color = guide_legend("Site", override.aes = list(size = 5))) 添加到您的代码中以更改图例中圆点的大小

library(tidyverse)
theme_set(theme_minimal(base_size = 14))

p = ggplot() +
  coord_sf(crs = 4326, xlim = c(-58, -69), ylim = c(40, 48))+
  xlab("Longitude")+
  ylab("Latitude")+
  facet_grid(. ~ season)+
  geom_point(data = datexample, aes(x = lon, y = lat, 
                                    size = Count,
                                    color = site), pch = 20)+
  scale_size_area()

p2 <- p + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  guides(color = guide_legend("Site", override.aes = list(size = 5)))
p2

reprex package (v0.2.1.9000)

创建于 2019-03-02