我正在努力为故事情节添加图例。我在同一张图上绘制了来自4个不同数据帧的4个密度图
代码是:
ggplot() +
geom_density(data=df1, aes(x=df1), color='black', fill='black', alpha = 0.2) +
geom_density(data=df2, aes(x=df2), color='darkred', fill='darkred',alpha = 0.2) +
geom_density(data=df3, aes(x=df3), color='darkblue', fill='darkblue',alpha = 0.2) +
geom_density(data=df4, aes(x=df4), color='darkgreen', fill='darkgreen',alpha = 0.2) +
xlim(0.5,1) +
ggtitle('Density plots') +
xlab('Indices') +
ylab('Density')
添加图例的通常方法是合并数据框,按组绘制每个密度,按组绘制颜色;但是在那种情况下,我该如何构建图例说明哪个曲线与哪个数据框相对应?
谢谢。
答案 0 :(得分:0)
获取图例的一种方法是添加颜色并填充美学映射中的名称,并为其指定要显示在图例中的名称,然后使用scale_...._manual)()
为两个标尺赋予相同的名称和值。 ,就像这样:
library(ggplot2)
# dummy data
df1 <- data_frame(df1 = runif(100))
df2 <- data_frame(df2 = runif(100))
df3 <- data_frame(df3 = runif(100))
df4 <- data_frame(df4 = runif(100))
ggplot() +
geom_density(data=df1, aes(x=df1, color='df1', fill='df1'), alpha = 0.2) +
geom_density(data=df2, aes(x=df2, color='df2', fill='df2'), alpha = 0.2) +
geom_density(data=df3, aes(x=df3, color='df3', fill='df3'), alpha = 0.2) +
geom_density(data=df4, aes(x=df4, color='df4', fill='df4'), alpha = 0.2) +
scale_color_manual(name = 'Title', values=c('black', 'darkred', 'darkblue', 'darkgreen')) +
scale_fill_manual(name = 'Title', values=c('black', 'darkred', 'darkblue', 'darkgreen')) +
xlim(0.5,1) +
ggtitle('Density plots') +
xlab('Indices') +
ylab('Density')