我有一些数据
library(data.table)
wide <- data.table(id=c("A","C","B"), var1=c(1,6,1), var2=c(2,6,5), size1=c(11,12,13), size2=c(10,12,10), flag=c(FALSE,TRUE,FALSE))
> wide
id var1 var2 size1 size2 flag
1: A 1 2 11 10 FALSE
2: C 6 6 12 12 TRUE
3: B 1 5 13 10 FALSE
我想将其绘制为按id排序的气泡图var2,气泡如下:ID A 和 B:var1绘制在size1“空气泡”中,并用“填充”气泡var2绘制。size2ID C 被标记是因为只有一个值(这就是为什么var1=var2)并且它应该有一个不同颜色的“填充气泡”。
我已经尝试如下:
cols <- c("v1"="blue", "v2"="red", "flags"="green")
shapes <- c("v1"=16, "v2"=21, "flags"=16)
p1 <- ggplot(data = wide, aes(x = reorder(id,var2))) + scale_size_continuous(range=c(5,15))
p1 <- p1 + geom_point(aes(size=size1, y = var1, color = "v1", shape = "v1"))
p1 <- p1 + geom_point(aes(size=size2, y = var2, color = "v2", shape = "v2", stroke=1.5))
p1 <- p1 + geom_point(data=subset(wide,flag), aes(size=size2[flag], y=var2[flag], color= "flags", shape="flags"))
p1 <- p1 + scale_color_manual(name = "test",
values = cols,
labels = c("v1", "v2", "flags"))
p1 <- p1 + scale_shape_manual(name = "test",
values = shapes,
labels = c("v1", "v2", "flags"))
这给出了(在我的主题中)
但还有两个问题:
- 传说中的顺序怎么了?我遵循了两个 geom_points 添加图例中的底部解决方案的配方,但不知何故顺序不匹配。
- 如何摆脱绿色气泡周围的中风,为什么会出现?
总的来说,在匹配形状和颜色方面似乎出了点问题。

