问题来自设置
size
在里面
aes
因为你不能为
NA
中的值
scale_size_continuous
.
我的解决办法是
分别绘制NA值
(不完美,但有效)。要将它们添加到图例中,请在
俄歇电子能谱
打电话给那里的导游。
但是,有一个问题是
钠
图例与非NA图例不匹配。为了调整对齐方式,我们必须绘制另一组不可见的
钠
最大非NA值大小的值。
ggplot(df, aes(lat, long, size = val, fill = val)) +
geom_point(shape = 21,alpha = 0.6) +
geom_point(data = subset(df, is.na(val)), aes(shape = "NA"),
size = 1, fill = "black") +
geom_point(data = subset(df, is.na(val)), aes(shape = "NA"),
size = 14, alpha = 0) +
scale_size_continuous(range = c(2, 12), breaks = pretty_breaks(4)) +
scale_fill_distiller(direction = -1, palette = "RdYlBu", breaks = pretty_breaks(4)) +
labs(shape = " val\n",
fill = NULL,
size = NULL) +
guides(fill = guide_legend(),
size = guide_legend(),
shape = guide_legend(order = 1)) +
theme_minimal() +
theme(legend.spacing.y = unit(-0.4, "cm"))
PS:需要
ggplot2_3.0.0
.