我想生成一个覆盖有点的条形图,其中两者都有单独的图例。另外,我想使用外部参数选择条形的颜色和点的大小aes()
。由于两者均未映射,因此不会生成图例。
1)如何手动添加填充和尺寸图例?
library(ggplot2)
d <- data.frame(group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5)
这就是我想到的:我使用了虚拟映射,然后根据我的需要修改了图例。但这种方法对我来说显得很笨拙。
2)是否有手动方式说:添加带有此标题、这些形状、这些颜色等的图例?
d <- data.frame(dummy1="d1",
dummy2="d2",
group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop, fill=dummy1, size=dummy2)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5) +
scale_fill_discrete(name="fill legend", label="fill label") +
scale_size_discrete(name="size legend", label="size label")
上面是我映射的fill
to dummy1
。所以我期望scale_fill_discrete
来改变这个传说。但似乎修改了size
传说代替。
3)我不确定这里出了什么问题。有任何想法吗?