繁体   English   中英

在 R 中格式化直方图

[英]Formatting histograms in R

我正在尝试将方差-伽玛分布拟合到 1 分钟对数回报的经验数据。 为了可视化结果,我将 2 个直方图绘制在一起:经验和理论。 a是经验数据的向量)

SP_hist <- hist(a, 
                col = "lightblue", 
                freq = FALSE, 
                breaks = seq(a, max(a), length.out = 141), 
                border = "white", 
                main = "", 
                xlab = "Value", 
                xlim = c(-0.001, 0.001))

hist(VG_sim_rescaled, 
     freq = FALSE, 
     breaks = seq(min(VG_sim_rescaled), max(VG_sim_rescaled), length.out = 141), 
     xlab = "Value", 
     main = "", 
     col = "orange", 
     add = TRUE)

(经验直方图-蓝色,理论直方图-橙色)

在此处输入图片说明

然而,在将 2 个直方图绘制在一起后,我开始想知道两件事:

  1. 在我所说的两个直方图中, freq = FALSE 因此,y 轴应在 (0, 1) 范围内。 在实际图片中,y 轴上的值超过 3,000。 怎么会发生? 如何解决?
  2. 我需要更改桶的大小(桶的宽度)和 x 轴每单位长度的密度。 怎么可能完成这些任务?

感谢您的帮助。

freq=FALSE表示将整个直方图的面积归一化为 1。 由于您的 x 轴的范围非常小(大约 10^(-4)),因此 y 值必须非常大才能使面积(= x 乘以 y)为 1。

设置垃圾箱的数量的唯一方法是通过对参数中断提供的破发点的向量。 理论上,此参数也接受单个数字,但此数字会被hist忽略。 因此请尝试以下操作:

bins <- 6   # number of cells
breaks <- seq(min(x),max(x),(max(x)-min(x))/bins)
hist(x, freq=FALSE, breaks=breaks)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM