#想请问一下,多个变量的直方图怎么添加图例呢,试了好多方法都不行
a2 <- ggplot(data = tem) +
geom_histogram(aes(x=PM1_p_glu2, y = ..density..),colour="gray",fill = "#66ccff",
alpha = 0.2,binwidth = 1.5) +
geom_density(aes(x=PM1_p_glu2, y = ..density..), col = "#FF99FF",size=0.6)+
geom_histogram(aes(x=PM2.5_p_glu2, y = ..density..),colour="gray",fill = "#66FFcc",
alpha = 0.2,binwidth = 1.5) +
geom_density(aes(x=PM2.5_p_glu2, y = ..density..), col = "pink",size=0.6)+
theme_bw()+labs(x="pregnancy to postpartum",y=" ")+
theme( axis.text=element_text(size=10),
axis.title.x=element_text(size=10),
axis.title.y=element_text(size=10))+
theme(panel.grid = element_blank())
【以下回答由 GPT 生成】
问题标题: r语言ggplot2绘制多个变量的直方图时如何添加图例?
问题内容: 通过分析你提供的代码示例,我发现你已经为每个直方图和密度图都设置了不同的颜色和填充。要为这些图添加图例,你可以使用scale_fill_manual()
和scale_color_manual()
函数来手动指定颜色和填充,并为每个变量创建对应的图例标签。
下面是一种可能的解决方案:
a2 <- ggplot(data = tem) +
geom_histogram(aes(x = PM1_p_glu2, y = ..density.., fill = "PM1_p_glu2"),
colour = "gray", alpha = 0.2, binwidth = 1.5) +
geom_density(aes(x = PM1_p_glu2, y = ..density.., color = "PM1_p_glu2"),
size = 0.6) +
geom_histogram(aes(x = PM2.5_p_glu2, y = ..density.., fill = "PM2.5_p_glu2"),
colour = "gray", alpha = 0.2, binwidth = 1.5) +
geom_density(aes(x = PM2.5_p_glu2, y = ..density.., color = "PM2.5_p_glu2"),
size = 0.6) +
theme_bw() +
labs(x = "pregnancy to postpartum", y = "") +
theme(axis.text = element_text(size = 10),
axis.title.x = element_text(size = 10),
axis.title.y = element_text(size = 10)) +
theme(panel.grid = element_blank()) +
scale_fill_manual(values = c("#66ccff", "#66FFcc")) +
scale_color_manual(values = c("#FF99FF", "pink")) +
guides(fill = guide_legend(title = "Variable"),
color = guide_legend(title = "Variable"))
在这个解决方案中,我们为每个直方图和密度图的fill
和color
参数添加了一个类别标签,例如fill = "PM1_p_glu2"
和color = "PM1_p_glu2"
。然后,我们使用scale_fill_manual()
和scale_color_manual()
函数手动指定颜色,values
参数包含了每个变量的颜色值。最后,使用guides()
函数为图例指定标题。
请注意,这只是一种解决问题的方法,你可以根据你的需求进行调整和修改。
希望对你有帮助!如果你还有其他问题,请随时提问。
【相关推荐】