java画直方图_如何在R中一起绘制两个直方图?

已经有漂亮的答案,但我想添加这个 . 在我看来很好 . (从@Dirk复制随机数) . 需要 library(scales)

set.seed(42)

hist(rnorm(500,4),xlim=c(0,10),col='skyblue',border=F)

hist(rnorm(500,6),add=T,col=scales::alpha('red',.5),border=F)

结果是......

93a91a9d-96f6-4dcd-ae2b-054ccf0f0005.png

更新:此重叠功能也可能对某些人有用 .

hist0

我觉得 hist0 的结果看起来比 hist 更漂亮

hist2

breaks = min(max(length(var1), length(var2)),20),

main0 = "", alpha0 = 0.5,grey=0,border=F,...) {

library(scales)

colh

if(grey) colh

max0 = max(var1, var2)

min0 = min(var1, var2)

den1_max % max

den2_max % max

den_max

var1 %>% hist0(xlim = c(min0 , max0) , breaks = breaks,

freq = F, col = colh[1], ylim = c(0, den_max), main = main0,border=border,...)

var2 %>% hist0(xlim = c(min0 , max0), breaks = breaks,

freq = F, col = colh[2], ylim = c(0, den_max), add = T,border=border,...)

legend(min0,den_max, legend = c(

ifelse(nchar(name1)==0,substitute(var1) %>% deparse,name1),

ifelse(nchar(name2)==0,substitute(var2) %>% deparse,name2),

"Overlap"), fill = c('white','white', colh[1]), bty = "n", cex=1,ncol=3)

legend(min0,den_max, legend = c(

ifelse(nchar(name1)==0,substitute(var1) %>% deparse,name1),

ifelse(nchar(name2)==0,substitute(var2) %>% deparse,name2),

"Overlap"), fill = c(colh, colh[2]), bty = "n", cex=1,ncol=3) }

的结果

par(mar=c(3, 4, 3, 2) + 0.1)

set.seed(100)

hist2(rnorm(10000,2),rnorm(10000,3),breaks = 50)

6a395412-936d-4af4-a1e0-f98093f99005.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值