如何在r中的ggplot2中绘制第二个图例

如何在r中的ggplot2中绘制第二个图例,r,data-visualization,ggplot2,R,Data Visualization,Ggplot2,我有两个数据集,我正试图显示在一个图表上,该图表覆盖在r下的ggplot2中。数据集1需要显示为一组条形图(每个国家一组-数据集中有几个国家)。数据集2需要显示为一组跨条的彩色水平线。请注意,这两个数据集的长度不同。下面我有一些代码说明了我要做的事情(根据别人的建议设计) 库(ggplot2) 图表1\u data正如@rawr所建议的,映射的东西使用aes()自动获取图例。那就这么做吧 ggplot(data = chart1_data, aes(x = entity, y = usage,

我有两个数据集,我正试图显示在一个图表上,该图表覆盖在r下的ggplot2中。数据集1需要显示为一组条形图(每个国家一组-数据集中有几个国家)。数据集2需要显示为一组跨条的彩色水平线。请注意,这两个数据集的长度不同。下面我有一些代码说明了我要做的事情(根据别人的建议设计)

库(ggplot2)

图表1\u data正如@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)))

关于如何使用R(ggplot2)的问题属于上,而不是这里。如果您稍等一下,我们将为您迁移它。哇,我想我以前从未见过有人通过调用
rainbow
覆盖默认的ggplot颜色。这很强烈。您可以在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)))