我有两个数据集,我试图在一个图表上显示,覆盖在r下的ggplot2中。数据集1需要显示为一组分组的条形图(每个国家/地区一组 - 数据集中有几个国家/地区)。数据集2需要在条形图上显示为一组彩色水平线。请注意,两个数据集的长度不同。我在下面有一些代码说明了我要做的事情(根据其他人的建议设计)。
{{1}}
我遇到的困难是我需要两个传说;一个用于条形,一个用于线条。到目前为止,我所有的尝试都会产生一个图例,每个数据集的碎片在某种程度上混合在一起。例如,在下面的图表中,请注意标题错误的单个图例,而没有关于行的图例。
有没有人建议如何实现我的目标?任何指针都赞赏。
答案 0 :(得分:3)
正如@rawr建议的那样,使用aes()
映射的内容会自动获取图例。那样做。
ggplot(data = chart1_data, aes(x = entity, y = usage, fill = medicine)) +
geom_bar(stat = "identity",
position = position_dodge(),
show.legend = TRUE) +
geom_hline(data = chart1_means, aes(yintercept = value, color = label)) +
scale_fill_manual("means",
values = colors) +
scale_color_manual("lines (means?)",
values = colors,
guide = guide_legend(override.aes = list(fill = NA)))