gpt4 book ai didi

r - 将图例添加到多直方图 ggplot

转载 作者:行者123 更新时间:2023-12-05 00:17:50 25 4
gpt4 key购买 nike

我正在尝试向 ggplot 添加图例两个直方图,可能重叠,因此希望它们稍微透明:

library(ggplot2)
set.seed(1)
plot.df <- data.frame(x=c(rnorm(1000,30,1),rnorm(10000,40,5)),
group=c(rep("a",1000),rep("b",10000)))

使用:
ggplot(plot.df,aes(x=x,fill=factor(group)))+ 
geom_histogram(data=subset(plot.df,group=='a'),fill="red",alpha=0.5)+
geom_histogram(data=subset(plot.df,group=='b'),fill="darkgray",alpha=0.5)+
scale_colour_manual(name="group",values=c("red","darkgray"),labels=c("a","b"))+scale_fill_manual(name="group",values=c("red","darkgray"),labels=c("a","b"))

但我得到的是:

enter image description here

缺少了什么?

最佳答案

您可以指定 fill,而不是分别绘制两个直方图。映射中的参数为 group变量,在这种情况下,图例将自动生成。

ggplot(plot.df, aes(x=x, fill = group)) + 
geom_histogram(alpha = 0.5) +
scale_fill_manual(name="group",values=c("red","darkgray"),labels=c("a","b"))

enter image description here

借用 here ,诀窍在于设置 fill 中的参数映射 (即 aes 此处)每个 histogram绘图,然后您可以使用 scale_fill_manual一般:
ggplot(plot.df,aes(x=x))+ 
geom_histogram(data=subset(plot.df,group=='a'),aes(fill=group),alpha=0.5)+
geom_histogram(data=subset(plot.df,group=='b'),aes(fill=group),alpha=0.5)+
scale_fill_manual(name="group", values=c("red","darkgray"),labels=c("a","b"))

enter image description here

关于r - 将图例添加到多直方图 ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com